Ya he comentado alguna vez que si tienes poca memoria RAM en tu servidor Web es una locura instalar WHM/cPanel y que una mejor opción es utilizar Virtualmin/Webmin, pero ¿Podemos configurar Virtualmin y nuestro servidor para utilizar menos RAM? Sí.
Si tienes un sistema con 512MB de RAM o menos (o incluso con 1GB de RAM) puedes mejorar el rendimiento del servidor con algunos sencillos trucos.
Podemos conseguir que Virtualmin use menos de 100MB de RAM pero también hay que prestar atención a los procesos de Apache (150- 200MB si tenemos activos todos los modulos), MySQL, BIND o Postfix
Te puede interesar: ¿Cuál es el mejor panel de control gratuito para un servidor linux?
10 trucos para optimizar el consumo de memoria RAM en un servidor VPS con Virtualmin
1.-Sistema de 32 o 64 bits
Si tienes menos de 3GB de RAM sería recomendable usar un sistema Linux de 32bit. La arquitectura de 64bit consume más RAM. ¡Ojo! Esto te va a imponer limitaciones en tu sistema en un futuro (o ya mismo), así que valora «pasar» de esta opción y centrarte en las otras.
2.-Desactivamos la pre-carga de Virtualmin
Vamos a System Settings > Virtualmin Config. y cambiamos «Preload Virtualmin libraries at startup?» a No.
Reduciremos el consumo de unos 90MB (120MB en un sistema de 64bit) hasta solo unos 10MB de RAM.
4.-Reducir uso de memoria de SpamAssassin y ClamAV
Sí no los necesitas, desactivalos. Pero si quieres reducir su uso de RAM puedes hacer los siguiente en Virtualmin:
Vamos a System Settings > Spam and Virus Scanning y elegimos:
- Ponemos SpamAssassin a spamassassin (Standalone program)
- Ponemos Virus scanning program a Standalone scanner (clamscan)
5.-Reducir uso de memoria de Apache
Aquí depende mucho de cuanta RAM dispongas, asi que lo mejor es ir probando, pero esta configuración puede valer para un sistema con 512MB o 1GB de RAM. Si tienes más memoria RAM solo tienes que ir multiplicando los valores x2 para optimizar el resultado.
Editamos el archivo de configuración de Apache:
CentOS:
vi /etc/httpd/conf/httpd.conf
Debian/Ubuntu:
vi /etc/apache2/apache2.conf
y cambiamos lo siguiente:
KeepAlive On
KeepAliveTimeout 3
<Module prefork.c>
StartServers 2
MinSpareServers 2
MaxSpareServers 5
ServerLimit 10
MaxClients 10
MaxRequestsPerChild 100
</Module>
<Module worker.c>
StartServers 2
MaxClients 10
MinSpareThreads 2
MaxSpareThreads 10
ThreadsPerChild 5
MaxRequestsPerChild 100
</Module>
También podemos desactivar los modulos de Apache que no necesitemos. Apache
6.-Desactivamos servicios no necesarios
Si no usas postgresql, proftpd, Mailman etc… puedes desactivarlos y ahorrar unos MB de RAM
7.-Configura una partición SWAP
Si tu sistema lo permite, configura una partición SWAP en tu sistema Linux.
8.-Optimiza MYSQL para sistema con poca RAM
Editamos el archivo de configuración.
vi /etc/my.cnf
Esto también es ensayo y error en función de la memoria RAM de la que dispongas:
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
Puedes visitar esta entrada: Optimiza y tunea my.cnf (Mysql) en tu servidor VPS
9.-Usa algún sistema de cache
Tienes que usar algún sistema de cache en tu servidor como el que te pueden proporcionar Memcache, OPcache, Varnish, Redis… hay muchas opciones ahñi fuera, asíq eu valora cualq se ajusta mejor a tu sistema. Yo utilizo Memcache y OPcache en mis páginas con WordPress.
10.-Aloja tus páginas web en un buen hosting
Realmente importante. Un buen hosting VPS puede marcar la diferencia. Te recomiendo que leas: Los 3 mejores servidores web VPS para alojar tus páginas web por calidad precio en 2017 . Recomiendo las mejores opciones del año.