Loading...
×
×

Consejos para optimizar tu servidor cPanel 11.x

Volver

No es que esta información sea nueva del todo, pero intentaremos recopilar los mejores consejos para optimizar tu servidor cPanel. Algunos no son estrictamente para servidores que funcionen en cPanel y pueden ser aplicados a otros servidores basados en Apache.

Primero deberás loguearte como root en tu servidor mediante SSH.

Todas las opciones de configuración importantes las almacen Apache en un archivo de configuración llamado httpd.conf que se encuentra en /usr/local/apache/conf/httpd.conf. Por tanto empezaremos abriendo este achivo con tu editor de texto favorito como por ejemplo:

nano /usr/local/apache/conf/httpd.conf

  • MaxClients - Número total de conexiones permitidas a la vez. Localízalo en el archivo de configuración. Debería estar fijado a un valor razonable. La fórmula para obterner un valor óptimo para tu servidor es: MaxClients = 150 x RAM (GB). Así que por ejemplo si tienes 2GB de RAM deberás fijarlo en 300. No deberías fijar un valor más alto que este ya que puede provocar que el servidor se cuelgue en caso de que sufras un ataque DOS, pero un valor demasiado bajo también puede causar problemas de tiempo de espera a tus clientes si se llega a dicho valor.
  • MinSpareServers y MaxSpareServers - MaxSpareServers y MinSpareServers controlan cuántos procesos “hijos” de Apache, que se encuentran inactivos, se mantendrán en funcionamiento mientras se esperan peticiones que los saquen de su inactividad. Cada proceso “hijo” consume recursos, así que tener un valor en tu MaxSpareServers demasiado alto puede causar problemas de recursos. Por otra parte, si el número de procesos inactivos es menor que el MinSpareServers, Apache supondrá nuevos procesos hijos (en una operación costosa) hasta que se satisfaga el MinSpareServers. C
  • Si no sabes determinar los valores óptimos para tu sistema, estos son los considerados para la mayoría:
    MinSpareServers 5
    MaxSpareServers 10

    Si tienes más de 2GB de RAM y ejecutas procesos que consumen muchos recursos puedes considerar incrementar el MaxSpareServers

  • MaxRequestsPerChild – Controla el número de peticiones que un “hijo” atiende antes de que sea terminado. No debería ser fijado a un número muy bajo ya que supondría una carga excesiva para el servidor Apache el relanzar el proeso Hijo. Un valor óptimo suele ser:
  • MaxRequestsPerChild 1000

  • KeepAlivey MaxKeepAliveRequests – KeepAlive permite sesiones HTTP más largas que permiten que múltiples peticiones sean enviadas por la misma conexión TCP. En algunos casos se ha demostrado que se traduce en un incremento de velocidad del 50% en los tiempos de respuesta para documentos HTML con muchas imágenes, pero también mantenerlo activado puede consumir recursos de manera intensa.
    ¿ Activarlo KeepAlive o no ? 

    Bueno las opiniones son diversas. Yo diría que NO actives KeepAlive si estás usando un servidor compartido en modo hosting o si quieres poder utilizar la mayoría de tu hardware. Y SÍ deberías activarlo cuando el tiempo de carga de tus páginas sea el factor más importante en tu negocio y tengas dinero suficiente para invertir en equipos potentes de gama alta. Si lo activas sugiero que configures el MaxKeepAliveRequest en aproximadamente 2 segundos.

  • StartServers – Configura el número de procesos “hijo” creados al inicio del sistema. Este parámetro depende en gran parte en el tipo de servidor que estés utilizando. Si alojas páginas con poco tráfico web lo puedes fijar en 5, pero si tienes un uso muy intenso tanto en visitas como en tráfico deberías fijarlo a un valor parecido al de MaxClients.
  • Timeout - Es la cantidad de tiempo que Apache esperará por 3 cosas: el tiempo que tarda en recivir una petición GET, el tiempo que tarda en recibir paquetes TCP tras una petición POST o PUT y el tiempo que tarda en recibir respuesta ACK en la transmisión de paquetes TCP. El valor por defecto es 300, deberías fijarlo a un valor algo menor, por ejemplo 150 está bien. También ayudará en caso de que sufras ataques DOS como algunos que se pueden producir si tienes  foros phpBB. NUNCA lo fijes a un valor menor de 90 ya que tus usuarios podrían tener problemas de tiempo de espera

Una vez que hayas realizado todos los cambios necesarios deberás reiniciar Apache.

service httpd restart

¡ Importante ! Tras actualizar a cPanel 11 y recompilar Apache hay un paso extra que realizar para que los cambios que has hecho en el httpd no se pierdan.

Desde cPanel 11.x todas las configuraciones de Apache se guardan en una base de datos y los archivos de configuración son recreados cada vez que una cuenta se añade o que otra es recompilada.

Para guardar los cambios en la base de datos deberás ejecutar:

/usr/local/cpanel/bin/apache_conf_distiller –update

También puedes comprobar si los cambios se han aceptado y no serán descartados en la próxima recompilación ejecutando:

/usr/local/cpanel/bin/build_apache_conf