4 votos

ejecutar local instancia de MySQL para una rápida mysql_real_escape_string llamadas

En la actualidad todos los datos de MySQL/llamadas a la API son manejados por un mando a distancia de clústeres de DB (es decir, la latencia de la red es un factor en el total de la secuencia de comandos de tiempo de ejecución).

Para reducir el tiempo de ejecución en este contexto, sería conveniente ejecutar un local de la instancia de MySQL en cada servidor de aplicaciones para manejar mysql_real_escape_string llamadas a la API? Alguien ha hecho esto?

1voto

David Pashley Puntos 17011

Usted haría de proceso de llamadas a través de una conexión TCP, aunque a localhost. Además, podrás usar una memoria adicional para el mysql proceso y aumentar la complejidad del código.

Un método mejor sería encontrar una función que duplica la funcionalidad de mysql_real_escape_string sin el uso de mysql. Usted tiene que asegurarse de que esta función funciona exactamente como mysql_real_escape_string ¿o usted podría abrirse a los problemas de seguridad.

También me gustaría preguntarle si usted debe reconsiderar su diseño si el script está haciendo tantas cadena de escapar de las llamadas que llegan a ser significativas. ¿Cómo se ha descubierto que estas llamadas son el problema? Han perfila su código? Si no lo han hecho, bien podría ser ladrando al árbol equivocado.

1voto

Ryan Sampson Puntos 2898

Lo que creo que quieres hacer no es lo que quieres hacer.

Una llamada a mysql_real_escape_string realidad no se envía nada al servidor (esto se puede confirmar observando tcpdump de salida). Todos los que llaman a las necesidades de una conexión actual es determinar el conjunto de caracteres utilizado (y por lo tanto lo que puede ser necesario citado).

Mediante la ejecución de mysql_real_escape_string en otra cosa que su vida real, la base de datos real, no vas a mejorar el rendimiento en todo, y está corriendo el riesgo de que la configuración de la conexión no será el mismo, la apertura a todo tipo de riesgos potenciales.

0voto

Bacon Puntos 11

Nunca he tenido la necesidad de hacerlo, pero me parece perfectamente razonable.

Yo sería muy cuidadoso de que su local mysqld versiones y configuración de coincidir entre sí, así como el servidor real como un desajuste podría causar problemas interesantes.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: