sql >> Base de Datos >  >> RDS >> Mysql

Uso de conexiones persistentes de PHP-MySQL para ejecutar el blog de WordPress

Al conectarse a la base de datos MySQL, el weblog de WordPress basado en secuencias de comandos PHP utilizará una conexión no persistente de forma predeterminada. Es decir, WordPress activará PHP para generar una nueva conexión al servidor MySQL para cada solicitud de página dinámica y, posteriormente, cerrará la conexión de la base de datos una vez que se complete la creación de la página web. La apertura y el cierre repetitivos de las conexiones MySQL provocan gastos generales y consumen valiosos recursos de CPU, memoria y sistema en el host web.

Usar una conexión persistente para conectarse al servidor de la base de datos MySQL no siempre es una buena opción. Cada conexión consume recursos, incluida la memoria, los búferes, las cachés de tablas o subprocesos internamente en MySQL y los sockets, los archivos abiertos o la actividad de E/S a nivel del sistema operativo. Por lo tanto, cuando se abren muchas conexiones persistentes pero no se cierran después de que se completan las transacciones, los recursos del sistema pueden agotarse y degradar el rendimiento del servidor web o, en el peor de los casos, causar una falla de HTTP. Además, si una conexión persistente se detiene, se vuelve inactiva o deja de funcionar o ya no se usa, no se termina y el servidor MySQL solo la cerrará para liberar el recurso ocupado por la conexión después de unos 28800 segundos (8 horas) de forma predeterminada, a menos que cambió los parámetros de tiempo de espera en los archivos de configuración my.cnf. Estos pocos factores pueden generar problemas, como que MySQL rechace nuevas conexiones de base de datos o un servidor lento si las aplicaciones no manejan correctamente las conexiones persistentes.

Por lo tanto, si no tiene experiencia como webmaster, no intente cambiar WordPress para usar conexiones persistentes.

Sin embargo, para los bloggers que tienen un blog ocupado y grande, y enfrentan limitaciones para actualizar las especificaciones del sistema de alojamiento web, y no desean usar un complemento de almacenamiento en caché de páginas estáticas como WP-Cache, la conexión persistente es una opción disponible para ajustar y optimizar el servidor web. para ver si el servicio de la página web puede ser más rápido. La conexión persistente permite que la conexión se abra una vez y no se cerrará cuando finalice la ejecución del script. En cambio, el enlace se mantiene en el grupo y permanecerá abierto para uso futuro. Por lo tanto, el uso de conexiones persistentes eliminará el proceso de abrir y cerrar la conexión. Esto reducirá indirectamente los gastos generales del servidor relacionados con la conexión de MySQL, como la autenticación para establecer la conexión donde solo se necesita una vez, ahorrando tráfico de red adicional y recursos utilizados para manejar la conexión adicional. Además, podría haber algunos cachés de nivel de conexión, que deben llenarse para un rendimiento adecuado y, potencialmente, reducir la cantidad de conexiones a la base de datos.

De forma predeterminada, WordPress utiliza la función mysql_connect() que establece una nueva conexión de base de datos en cada página. La función de conexión persistente requerirá la función mysql_pconnect() que usa exactamente la misma API, pero tiene una agrupación de conexiones integrada para mantener las conexiones activas entre solicitudes. Entonces, para usar la conexión persistente para ejecutar WordPress, la función mysql_connect() debe reemplazarse con mysql_pconnect().

Para habilitar y usar conexiones persistentes con WordPress, simplemente inicie sesión en su servidor web con SSH (o Telnet inseguro) y cambie el directorio al directorio de inicio webroot donde está instalado el blog de WordPress.

Ubique y edite el wp-config.php y agregue las siguientes líneas (o cambie a los siguientes valores si las constantes ya existían):

define('USE_PCONNECT', true);
define('WP_CACHE', false);

WordPress y PHP (siempre que no desactive mysql.allow_persistent en PHP.INI) usarán inmediatamente conexiones persistentes para conectarse a la base de datos MySQL. Vale la pena probar qué configuración es mejor para su entorno.

Los siguientes pasos también son viables, pero implican piratear el archivo principal de WordPress y, por lo tanto, no se recomiendan y se dejan en este artículo solo como referencia.

Cambiar directorio a wp-includes directorio. Dentro del directorio wp-includes, hay wp-db.php expediente. Use cualquier editor de texto como vi para editar wp-db.php. Busque o localice la función de mysql_connect (o @mysql_connect ). Solo hay una instancia de mysql_connect. Simplemente cambie mysql_connect a mysql_pconnect , luego guarde y salga de wp-db.php.