Como Evitar El CPU Throttling Y Optimizar WordPress  

  

Imagen de Como Evitar El CPU Throttling Y Optimizar WordPressDesde hace tiempo he querido hacer una guía que ayude a resolver este problema denominado CPU Throttling (Hostmonster, Bluehost, etc.) o CPU Hog (Hostgator) el cual ocurre cuando nos sobrepasamos del uso de CPU destinado para nuestro sitio en el servidor de la compañía donde contratamos el servicio de hosting compartido.

En ciertos paneles de control, como Cpanel, tenemos una opción que dice CPU Throttling en la que podemos ver si tenemos este problema, y si es el caso veremos un mensaje de advertencia,  que es más común de lo que se imaginan al utilizar WordPress. En otros paneles y dependiendo de la compañía de hosting, quizá nos avisen por mail o puede que hasta nos suspendan el sitio sin previo aviso en lo que corregimos esto.

Si ya con el simple hecho de utilizar WordPress estamos consumiendo bastantes recursos, hay maneras en que podemos aligerar esta situación y evitar que nuestro sitio sea bloqueado. Aquí les compartiré algunos consejos y recomendaciones:

1.- Repara y Optimiza la base de datos de WordPress de manera periódica:

Sí tu hosting te permite utilizar SSH, puedes utilizar lo siguiente:

mysqlcheck -auto-repair -u`whoami` -p -A -o

De otra manera les diré los pasos para el Cpanel (si tienen otro tipo de panel también se debe poder, solo busquen el phpmyadmin)
-En la sección de Databases busquen PHPMyAdmin y denle clic.
-Seleccionen la tabla de WordPress si no es que está ya por default, y abajo de todos los campos hay una opción que dice “Check All” luego enfrente viene una lista desplegable o ‘Dropdown List’ en donde encontrarán las opciones ‘Repair’ y ‘Optimize’. Seleccionen ‘Repair’ y luego vuelvan a repetir los pasos pero al final seleccionen ‘Optimize’.

2.- Desactiva todos los plugins que no sean realmente necesarios:

Aquí hay que pensar de manera fría y entender que es mejor, quitar algunas funcionalidades que no sean realmente necesarias si eso nos puede ayudar a evitar que la compañía de hosting deje nuestro sitio bloqueado por alto consumo.

Un plugin mal programado puede ser lo único que nos separe entre tener CPU Throttling constante durante todo el día a olvidarnos de este problema.

De los plugins que más gastan recursos están los que manejan RSS, incluso el utilizar el Widget RSS de WordPress puede consumir bastante para lo que hace.

También por ejemplo los que tienen que estar buscando tus últimos tweets para mostrarlos. Es mejor utilizar las herramientas que los mismos sitios proveen y que funcionan desde las mismas, y ya si no podemos prescindir de tener este tipo de widgets/plugins, pues algo a considerar es disminuir el número de elementos a mostrar.

Otra buena práctica es, en las horas con menos tráfico, desactiva todos los plugins, y activa de uno en uno dando un lapso entre cada uno suficiente para ver, si al activar alguno tu gráfica de CPU Throttling tuvo algún pico.

También me he dado cuenta que algunos que muestran “Entradas Relacionadas” no son muy buenos para planes de hosting compartido.

3.- Verifica que tu tema no sea el responsable:

Es bastante raro, pero algunos temas, no están tan optimizados, o tienen ciertas funcionalidades que aunque sean bastante buenas, no están pensadas para servicios de hosting compartido( redimensionar imágenes, mostrar imágenes y videos en una especie de Lightbox, incluir muchos scripts realmente innecesarios).

De igual forma que con los plugins, busca las horas en que tu sitio tiene menos tráfico para hacer esta prueba, y cambia tu tema por el de default de WordPress: Twenty Ten, dejalo así un rato y verifica si ha mejorado considerablemente.

4.- Cambia a FastCGI (a veces cambia de FastCGI también):

En el panel, ve a donde dice PHP Config y activa PHP 5 FastCGI, en la mayoría de los casos esto mejorará considerablemente la velocidad de tu sitio, sin embargo, dependiendo de ciertas configuraciones también puede resultar lo contrario, así que primero prueba y si tienes una configuración promedio, probablemente te veas beneficiado de este rápido cambio.

5.- No dejes la página para redactar un artículo abierta si no la estás usando:

Esto es porque WordPress hará autoguardados innecesarios, si vamos a dejar de redactar podemos guardar en borrador y retomar el artículo más tarde.

6.- Borra las revisiones para viejos artículos:

Dependiendo de cuantas entradas tengas, podrás ahorrar mucho espacio y con ello hace que tu base de datos sea más ligera, en algunos sitios, sobre todo los colaborativos, donde alguien redacta y todavía alguién revisa el artículo he llegado a ver hasta 7-8 revisiones por entrada, eso es DEMASIADO.

Puedes hacerlo con la siguiente query desde el PHPMyAdmin

DELETE FROM wp_posts WHERE post_type = "revision";

Tengan en cuenta el hacer un respaldo antes de hacer la operación anterior, por si las dudas.

7.- Desactiva las opciones de formateo por default.

En el panel de WordPress -> Settings (Ajustes) -> Writing (Escritura) – Desmarca las 2 opciones, sobre todo la que dice “WordPress should correct invalidly nested XHTML automatically”.

8.- No redactes desde un email, ni copies y pegues directo desde Word:

Para eso está el editor de WordPress evítale el el tiempo de análisis de pasar de Word a WordPress.

9.- Cantidad de Artículos en el sitio y en el feed:

Reduce la cantidad de artículos que muestras en tu sitio y los que muestras en el feed por página, además selecciona brindar un resumen en el feed en vez de la entrada completa. Juega con estos elementos hasta que encuentres un punto medio entre usabilidad y desempeño.

10.- Desactiva todas las notificaciones por email que no necesites:

Sí vas a entrar a tu panel de WordPress de todas maneras, para que quieres que te notifiquen si alguien te puso un comentario, imagina que si tienes varios comentarios, WordPress tendrá que enviarte las notificaciones y es algo que nos podemos ahorrar.

11.- Usa la búsqueda de Google:

Al dejar que Google maneje la búsqueda en tu sitio, las peticiones correran en los servidores de Google por lo que estarás ahorrando recursos y al mismo tiempo, puedes ganar algo de dinero de la publicidad, es una situación win-win.

12.- Reduce el peso de las imágenes o videos que subas:

Hay programas que hacen esto e incluso herramientas online que te pueden ayudar a disminuir el peso de las imágenes sin que se vea afectada mucho la calidad.

13.- Reusa las imágenes:

Así simplemente las ligas en la entrada utilizando HTML y no desperdicias recursos en subir más imágenes.

14.- Ofrece feeds por categorías:

Trata de ofrecer suscripciones al feed mediante URLs así: http://tusitio/categoría/nombrecategoría/feed -> Esto te servirá para no tener que mostrarle a todos, todas las entradas en su feed, si no simplemente de la temática en la que está interesado. El desempeño de tu sitio te lo agradecerá y tus lectores también.

15.- Usa un plugin para servir páginas cacheadas:

Esto sirve para que en vez de realizar las querys PHP cada vez que se refresca una página, le brindemos al usuario rápidamente una página ya cacheada en el servidor, lista para mostrar. Aquí no voy a entrar en discusiones sobre si usar W3 Super Cache, WP Super Cache, Hyper Cache, etc. Ya que dependiendo de la configuración los 3 pueden resultar bastante útiles, y si buscas en Internet sobre cual es el mejor, te encontrarás cientos de sitios que apoyan a cada uno, como siempre lo mejor es probar lo que nos va mejor a nosotros.

16.- Utiliza DB Cache Reloaded:

Este plugin te ayudará bastante, pues tendrás cacheada también la base de datos de manera que el desempeño mejorará mucho.

17.- Aumenta el tiempo de duración de la caché:

Para el plugin que hayas elegido para cachear tus páginas, además del DB Cache Reloaded, es posible aumentar el tiempo que tarda  tu sitio en generar una nueva versión cacheada de tu página y borrar la anterior. Por ejemplo, si solo escribes 1 vez al día, es ilógico que quieras renovar la caché cada 5 minutos. Igual juega con estos números y con las múltiples opciones que trae cada uno de estos plugins.

18.- Reduce la cantidad de PHP, Javascript, CSS:

Generalmente las plantillas vienen con bastante código que cumple propósitos generales, por ejemplo si tiene la opción de mostrar de 2 formas distintas la portada, y una de las 2 ni siquiera te gusta, puedes eliminar la función que la crea, el código PHP que la muestra y el CSS que le corresponde.

Además, muchas de las cosas en nuestro tema se obtienen mediante query’s PHP, para saber la ruta donde algo se alojó. Esto lo puedes cambiar por la dirección completa y eliminar todas las querys que no sean verdaderamente necesarias.

Es común ver cosas así:

<title>< ?php bloginfo('name'); ?> < ?php wp_title(); ?></title>

Cambíalo por algo así:

<title>Nombre de mi sitio</title>

Encontrarás una infinidad de cosas que mejorar de ese tipo.

19.- Sí encuentras entre el código de un plugin que alguno hace que wp-cron.php actualice constantemente, trata de arreglarlo, o buscar un plugin cuya función sea similar pero que no tenga este problema.

20.- Evita usar los plugins que puedas implementar directamente con funciones:

Esto es porque los plugins muchas veces traen bastantes cosas extras a lo que realmente queremos, haciendo nuestras propias funciones para implementar algo, no solo nos aseguramos de solo agregar lo necesario, si no que evitamos que un error en un plugin nos fastidie.

21.- Actualiza WordPress

Debes tener tu WordPress y tus plugins al día, a veces las actualizaciones son precisamente para corregir fallos o para usar de manera más eficiente los recursos. De igual manera puedes checar el ‘Changelog‘ ya sea de WordPress o del plugin para ver que cambió de una versión a otra.

Y bueno es todo, me alargué bastante pero quería hacer una muy buena guía para que las personas que usan WordPress puedan sacar mayor ventaja de sus sitios webs, además algunos consejos se pueden aplicar con otras plataformas o sitios web.

Recuerda que puedes seguirme en Twitter para conversar o discutir sobre los temas tratados en Geektual, pedir que se hable sobre algo o preguntarme sobre cualquier cosa que gustes =>

Comentarios

Los usuarios llegaron buscando:

cpu throttling, cpu throttle