Yo Programo .NET

WP-Cache - Instalación en 7 pasos

September 4, 2009 05:15 by fabianfigueredo
Categorías: Linux | Wordpress

Encontré este articulo donde el autor nos muestra en 7 pasos sencillos como instalar WP-Cache en nuestro wordpress.

  1. Descargar WP-Cache y descomprimir los archivos dentro de la carpeta “wp-content/plugins”.
  2. Desde el root de nuestro blog, accedemos a la carpeta wp-content y creamos una carpeta cache con los permisos necesarios.
    cd wp-content 
    
    mkdir cache 
    
    chgrp www cache # "www" es el grupo apache (ubuntu = "www-data")
    
    chmod 775 cache
  3. Desde el directorio root hacemos que el grupo de apache tenga permiso de escritura en el directorio wp-content.
    chgrp www wp-content 
    
    chmod 775 wp-content
  4. Creamos el enlace simbólico necesario por el script.
    cd wp-content 
    
    ln -s plugins/wp-cache/wp-cache-phase1.php advanced-cache.php
  5. Modificamos el wp-config.php eh incluimos la siguiente linea.
    define('WP_CACHE', true);
  6. Entramos en la sección “Plugins” de nuestro wordpress y activamos el plugin wp-cache.
  7. En la sección “Settings” seleccionamos “WP-Cache” y lo habilitamos.

Listo!

Configuración de Apache Server para alto tráfico

January 15, 2009 16:16 by fabian
Categorías: Apache | Linux | Open Source | Wordpress

En estos días he tenido que configurar y monitorizar resultados en el server Linux que tengo para el sitio 64juegos.com. Este server tiene alrededor de 10.000 visitas únicas por día.

Pero hace un par de semanas el server comenzó a tener problemas, constantemente se caía y tenia que reiniciarlo para poder solucionar el problema.

Tuve que mirar atentamente los procesos y servicios, ver que cantidad de memoria consumían cada uno intentando buscar el motivo de falla. Al principio pensé que era el servidor MySQL, pero al poco tiempo pude identificar que el verdadero problema estaba en la configuración de Apache Web Server.

Configuración del server:

  • Linux Ubuntu
  • Procesador Core 2 Duo
  • RAM: 2 GB
  • HD: 120 GB
  • Servicios: MySQL, Bind, Apache2

 

Detalles del problema:

El problema real sucede cuando el server esta atendiendo muchas visitas concurrentes, esto hace que Apache arranque varios procesos y si Apache esta mal configurado puede hacer que la memoria ram sea consumida por completo.

64 Juegos es un blog que utiliza Wordpress y cada proceso de apache para Wordpress en mi server consume entre 20 y 30 megas. Cuando monitorizaba el comportamiento de apache, habían momentos que estaban corriendo mas de 100 procesos de apache con picos de 140 y es allí cuando el server se iba al suelo.

La solución:

Aquí les paso a nombrar las cosas que he realizado para poder solucionar este problema.

htopHerramientas htop y top:

Dos herramientas esenciales para poder ver el comportamiento de las aplicaciones, con htop podremos ver claramente como se comporta nuestra memoria RAM y que cantidad de memoria ocupa cada proceso.

Con esta herramienta pude ver que apache en ciertos momentos creaba muchos procesos que consumían toda la memoria RAM.

También hay otro comando que es muy util para ver la cantidad de procesos que el Apache esta corriendo y es el siguiente:

ps ax | grep apache | wc –l

Cambios en configuración de Apache:

Apache es un server web muy poderoso, es posible controlar muy detalladamente su comportamiento, editando el archivo de configuración podremos restringir la cantidad de procesos y consumo de memoria entre otras cosas que hará Apache. Lo que yo hice fue cambiar estos valores en el archivo apache2.conf:

Timeout 13
KeepAlive On
KeepAliveTimeout 3

<IfModule mpm_prefork_module>
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    ServerLimit 155
    MaxClients 155
    MaxRequestsPerChild 320
</IfModule>

Recuerden que esta configuración es para un server que tiene 2 GB de RAM, con ServerLimit y MaxClients controlas la cantidad de clientes que el apache atenderá simultáneamente, los demás los pondrá en espera.

Con estos cambios, el server funciona perfecto y en los momentos picos el server responde bien.