2009-12-02 8 views
58

Uno de los parámetros en la configuración de base de datos CodeIgniter es la siguienteventajas/desventajas de la opción pconnect en CodeIgniter

['pconnect'] TRUE/FALSE - Whether to use a persistent connection 

¿Qué recomienda fijo esto a?
¿Hay un rendimiento significativo si lo configuro en FALSE?
¿Qué problemas potenciales pueden surgir al establecerlo en TRUE?

Respuesta

90

Solo busque las mejores prácticas generales para conexiones persistentes. Mis sugerencias.

  • Por defecto, NO
  • Si usted tiene:
    • servidor web dedicado y hardware de base de datos en producción
    • y ha sintonizado el servidor web y base de datos correctamente
    • y tienen una precisión entorno de prueba similar a la producción
    • Y todavía cree que sus problemas de rendimiento son causados ​​por el tiempo de conexión de la base de datos,

Considere ENCENDERLO

Las conexiones persistentes pueden causar

  • errores debido a que algunos estados de conexión persistió sin querer (esto es algo grande!)
  • límites de conexión de base de datos para ser superado
  • Rendimiento de la base de datos que se cae debido a la gran cantidad de ram usados ​​por las conexiones (en su mayoría inactivas)
  • errores ya que las conexiones se han ido "vieja" y la aplicación no se dio cuenta

Pero PUEDEN

  • reducir la latencia en la conexión inicial

Si usted piensa que está causando latencia de la conexión un problema, considere encenderlo en su sistema de prueba de rendimiento y midiendo el impacto.

+3

Gran respuesta hermano da mucha claridad. – Ganatra

+0

¿Puedo agregar que puede usar la agrupación de conexiones pero que esto presenta su propio conjunto de problemas para abordar y no estoy seguro de que Codeigniter pueda manejarlos? http://php.net/manual/en/book.mysqlnd-ms.php –