WordPress y uso de CPU: algunas lecciones

Hace unos días escribía sobre el problema que Boja tenía con la sobrecarga de CPU que WordPress le estaba causando en su host. Desde su publicación, fueron muchos quienes aportaron con sus sugerencias para solucionar este problema, ya sea a través de comentarios o bien posts sobre el tema, y entre todos se ha creado una nueva base de conocimiento que antes no existía sobre la optimización del funcionamiento de WordPress en cuanto a su consumo de procesamiento, de la cual intentaré destacar algunos de sus puntos más importantes.

Los weblogs conversan sobre el tema

Sí, los weblogs son conversaciones y en esta caso quedó más que demostrado. Primero que nada, un listado de los weblogs que escribieron sobre el tema:

  1. En primer lugar, el mismo afectado escribió sobre la sobrecarga de CPU en DreamHost
  2. Luego, Diego Lafuente se preguntaba si si DreamHost era el problema, recordando la oportunidad en la que le pasó lo mismo
  3. Yo mismo escribí un artículo que ampliaba un comentario al post de Diego
  4. Marcos Sader reportó que también tenía el mismo problema, y en un comentario a este post alguien recordó que a Mariano Amartino también le había sucedido lo mismo, pero que lo había solucionado instalando WP-Cache 2, el plugin de Ricardo Galli
  5. Davilac escribió sobre su experiencia con DreamHost
  6. En Vida Vacía se planteaba el problema de ser popular en la blogósfera
  7. En Vida Blog recordaban que esto había sucedido anteriormente, también a Manuel Almeida, quien en su momento se preguntaba si esto se debía a un misterio en el hosting (que en este caso no era DreamHost) o ataques contra WordPress
  8. En el blog de WordPress en Bitacoras.com, se escribía cómo poner a WordPres a régimen de ejercicios
  9. Ricardo Galli lee el post inicial de Boja y aporta un dato fundamental: el problema podría residir en que PHP estaba configurado para ejecutarse como módulo CGI
  10. Boja intentó esta solución y le dio excelentes resultados
  11. Marcos Sader aportó sus propias sugerencias para solucionar el problema

Síntesis de las lecciones

  • Dado que WordPress trabaja con PHP y MySQL, cada vez que necesitamos ver una página debe consultar la base de datos y generar el XHTML para nuestro navegador. WP-Cache es un plugin que reduce este trabajo generando copias estáticas al solicitar una página
  • Los plugins generan una carga extra de trabajo, sobre todo aquellos filtros para el texto que escribimos, tales como Textile o los que generan muchas consultas a la base de datos, como Brian’s Latest Comments
  • Con el uso, las bases de datos comienzan a retener información que no es necesaria, lo que hace que se necesite trabajo extra para obtener los datos que requerimos. Para evitar esta situación existe la posibilidad de optimización, la cual es una tarea muy sencilla con phpMyAdmin, el administrador más común para bases MySQL, seguramente disponible en tu servicio de alojamiento web
  • PHP puede funcionar como un módulo de Apache o como CGI. Esta última opción implica mucho más esfuerzo del servidor, por lo que es recomendable elegir la ejecución como módulo de Apache
  • Existen temas para WordPress que son muy simples, hay otros que son muy complejos. Si quieres mantener el consumo de CPU bajo, es mejor quedarse con lo más sencillo
  • Hay algunas tareas que pueden ser traspasadas a otros servidores, en especial en lo referente a servir los canales de sindicación a través de FeedBurner, para lo cual existe un plugin que permite facilitar esta tarea, aunque también se puede hacer sin él. De esta manera, tu feed no será solicitado a tu servidor, sino al de este servicio
  • Finalmente, existe también LighPress, un backend para WordPress, que tiene como fin acelerar el trabajo de muchos de los procesos de acceso a la base de datos y de generación de los temas, a fin de reducir el trabajo en el servidor. Aunque no es totalmente compatible con WordPress, te puede servir como una alternativa para reducir el consumo de CPU

8 responses to “WordPress y uso de CPU: algunas lecciones”

  1. drask says:

    Yo creí tener el mismo problema, incluso hice varias cosas como desactivar cgi y desinstalar plugins. Mmenos mal que fue un error mío.

    Lo bueno del problema de Boja, fue que muchos bloggers ahora están más al pendiente con estas situaciones. Y surgieron muy buenos posts, como el de bitácoras.com donde se dan buenos consejos.

    En fin, problemas que se dieron públicos como el de Boja o el de Marcos, parece que ya estan estabilizados, y para usuarios que vayan a problemas de este tipo, seguramente ya podrán resolverlo más facilmente

  2. Juan says:

    Recuerdo tambien que para WordPress había un plugin que permitia poner un boton de optimizacion para la base de datos en el panel de control. Era muy cómodo y util.

  3. Boja says:

    Muy buen resumen de todo los sucedido y que deja constancia del poder de la blogosfera cuando ocurre algo.

    Un saludo.

  4. […] Desafortunadamente, hace algunos días se dieron casos donde nos dimos cuenta que- PHP+CGI+WordPress+DreamHost: Sobrecargas. Se escribieron varios posts al respecto en la blogosfera, y seguramente varios bloggers hospedados en Dreamhost pusieron atención sobre este asunto. De hecho, yo leí mi reporte. Process CPU seconds user machine php.cgi 429.7500 99.757% 0.957% sendmail 0.3800 0.165% 0.002% postdrop 0.1800 0.078% 0.001% ——————————————————- Total: 430.3100 100.000% 0.960% […]

  5. […] Una de las lecciones que se propagó por la blogósfera hispanoparlante tras el caos producido por los anuncios de alto consumo de CPU por parte de WordPress es la importancia de mantener una base de datos optimizada. Sin embargo, como bloggers, seguramente pasamos más tiempo frente a un formulario para escribir posts que preocupándonos de este tipo de detalles. Por suerte, existen formas de automatizar este proceso. […]

  6. […] Por cierto, si quieres seguir optimizando tu wordpress no tienes más que pasarte por el blog de Felipe Lavín donde analiza varios problemas de carga en la CPU comentados por otros bloggers y reune unas cuantas posibles soluciones. […]

  7. SigT says:

    Dreamhost, PHP y consumo de CPU: Round 2…

    Los que llevéis un tiempo leyendo blogs recordareis una polémica que hubo a finales del 2005 cuando varios usuarios experimentaron problemas con Dreamhost por culpa del consumo de CPU:

    Historia previa

    Boja inició la discusión.
    Muchos blogs se hi…

  8. […] Estos días, por todos los que siguen la actualidad, es sabido que Robinho ha sido noticia, por una fiesta en brasil y por un partidazo que hizo contra Ecuador. Las visitas se triplicaron. También es cierto que esos días por cambios de diseño y demás tuve desactivado el wp-cache, el cual alivia mucho el trabajo del server. […]

%d bloggers like this: