Optimizar un servidor con Apache para que sus procesos usarán menos memoria RAM nunca ha sido tarea fácil debido a la gran cantidad de parámetros que hay que manejar, pero ahora, podemos utilizar un pequeño script que no va a decir el valor ideal de muchos de los parámetros principales de este servidor HTTP.
ApacheBuddy, que es muy similar a MySQLTuner, programa para optimizar MySQL o MariaDB, revisa tu configuración de Apache, y te hace sugerencias basadas en la cantidad de memoria que consume cada proceso Apache de tu servidor y la memoria RAM total que tengas.
Aunque es un programa bastante básico, ya que se centra solo en la directiva «MaxClients», ApacheBuddy es útil, y se puede instalar y ejecutar de manera sencilla en el servidor teniendo acceso root mediante SSH.
- «MaxClients» indica el número máximo de peticiones que se pueden servir al mismo tiempo por el servidor, cualquier número que vaya más allá del límite se pone en cola. Si es demasiado bajo, las conexiones enviadas a la cola pueden agotar el tiempo de espera; Si es demasiado alto puedes tener problemas de memoria y empezar a usar la memoria SWAP del servidor. En Linode.com tenéis una buena explicación de todos los parámetros.
Cómo instalar y usar Apachebuddy para optimizar Apache y la memoria RAM de tu servidor
1.-Descargamos ApacheBuddy:
wget https://raw.github.com/gusmaskowitz/apachebuddy.pl/master/apachebuddy.pl
2.-Le damos permisos de ejecución:
chmod +x apachebuddy.pl
y ejecutamos el script para que revise nuestra configuración de Apache:
./apachebuddy.pl
3.-Y lo que vamos a obtener es algo como esto:
donde podemos ver unas cuantas cosas importantes:
- Cuanta memoria RAM usa cada proceso de Apache en nuestro servidor (máximo, mínimo y media): 28,13MB, 20,21MB, 26.45MB
- Cuanta memoria RAM puede usar potencialmente Apache (máxima y media): 529MB y 562.61MB de RAM (alrededor de un 20% de la memoria RAM total del servidor)
En el archivo /etc/httpd/conf/httpd.conf, que es donde se encuentra la configuración de Apache en CENTOS, podemos cambiar el parámetro MaxClients en función de la recomendación del programa. En este caso, al tener «20» y alcanzar solo el 21% de la memoria RAM total del sistema, ApacheBuddy ha considerado que el ajuste es correcto.
Optimiza y tunea my.cnf (Mysql o MariaDB) en tu servidor VPS
Un problema muy común de las configuraciones por defecto de Apache es que suelen dejar MaxClients=150, y eso no hay servidor con 2GB de RAM que lo soporte en un pico de visitas. Tened en cuenta que además de Apache, el servidor tiene que manejar MYSQL (digamos que usa el 50% o 60% de la memoria RAM del servidor) y tu panel de control (cPanel/WHM puede llevar a consumir 512MB mínimo -otro 20%- y Virtualmin unos 100MB), así que no podemos dejar que en un pico de visitas Apache use toda la memoria RAM. Sí dejas MaxClients en 150, cuando tengas muchas visitas el servidor no lo va a aguantar… mejor que esperen en la cola…
Otros consejos para optimizar el rendimiento de tu servidor o página web
1.-Cambia de proveedor de hosting
Además de tunear Apache, también podéis aumentar vuestra memoria RAM cambiado de plan de alojamiento en vuestro servidor. En Linode tienen buenas ofertas y sus planes de alojamiento web tienen muy buena pinta: www.linode.com. Su plan de 4GB de RAM es uno de los mejores del momento.
Comparativa de los 3 mejores VPS (servidores web de hosting) por calidad precio en 2022
2.-Optimiza tu CMS, por ejemplo WordPress
Es posible que no hayas optimizado bien WordPress, el CMS más popular del mundo. También tengo unos cuantos consejos para hacerlo. Tu servidor Apache y MySQL te lo van a agradecer.
10 consejos imprescindibles para optimizar el rendimiento de WordPress