Cómo evitar el alto consumo de CPU de Disqus

Una de las métricas que debes observar para una buena optimización de tu sitio WordPress es el consumo de CPU, porque recuerda que WPO no es velocidad percibida por el usuario o los medidores online, sino optimización en toda su extensión, que se podría resumir en:

  • Optimización de consumo de recursos del servidor
  • Optimización de consumo de recursos del navegador
  • Velocidad óptima de entrega de contenidos

Todo ello se resumirá en:

Y hoy te quiero hablar del uso intensivo que hace el sistema de comentarios Disqus en WordPress, que afecta enormemente al consumo de CPU de tu alojamiento.

Es algo que si no solucionas podría provocar caídas de tu web en ocasiones, y altos consumos de los recursos de tu alojamiento, siempre.

Disqus mola mucho, pero mucho, es un sistema mucho más eficaz de gestión de comentarios que el nativo de WordPress, pero …

¿A que no quieres que tu web se caiga por culpa del sistema de comentarios?

¿A que no quieres pagar más hosting por culpa del sistema de comentarios?

El culpable del alto consumo de CPU de Disqus

El elemento que provoca un alto consumo de CPU por parte de Disqus es nada menos que su motor de sincronización de comentarios.

Es el mecanismo por el cual los comentarios de WordPress siempre están sincronizados con los de Disqus, para que tu administración siempre muestre los últimos comentarios dejados en el sistema externo.

Este motor, generado por la tarea en el cron de WordPress llamada dsq_sync_forum.

Esto genera miles de llamadas al WP-cron desde la tabla options de la base de datos, resultando en un alto consumo de CPU de tu servidor, que puede llegar a provocar caídas de tu web.

Cómo reducir la carga de CPU provocada por Disqus

Visto el problema vamos a ver las posibles soluciones al mismo. Elige primero no siguiendo el orden en el que yo te las pongo, empieza por la que te sientas más seguro de aplicar.

Solución 1: Desactiva la carga automática del cron

Si tienes claro que quieres desactivar la tarea puedes usar la herramienta PHPMyAdmin de tu hosting para localizar la línea llamada cron en la tabla options.

Una vez ahí edítala y borra la línea que carga dsq_sync_forum en el cron.

Guarda los cambios y habrás evitado la carga de la sincronización de comentarios en el cron de WordPress y, en consecuencia, liberado de carga la CPU de tu alojamiento.

Advertencia: Haz antes copia de seguridad de tu base de datos, esta modificación puede dejar tu sitio inservible si no sabes lo que haces.

Solución 2: Carga condicional de Disqus

Otra posible solución es usar el plugin Disqus Conditional Load, que permite en sus ajustes especificar como se cargará Disqus.

En nuestro caso el modo adecuado sería activar la carga de Disqus On click, para que los usuarios tengan que hacer clic para ver los comentarios.

Con esto no eliminas la tarea del cron pero sí reduces muchísimo el consumo por defecto de Disqus en otros aspectos.

Solución 3: Frena la sincronización de comentarios de Disqus

Este es un método bien sencillo, para todos los públicos.

Ve a la administración de tu WordPress y accede al menú Comentarios > Disqus > Plugin Settings y desactiva la sincronización automática para liberar el cron de WordPress de esta carga.

Guarda los cambios, que no se te olvide.

Ahora bien, como ya no se sincronizarán automáticamente los comentarios, de vez en cuando pásate por esta misma página de ajustes del plugin y activa manualmente la sincronización.

Suele tardar unos minutos en la mayoría de los sitios, y no hay que estar mirando la pantalla, recibes un correo de Disqus cuando termina.

Solución 4: Desactiva totalmente el cron desde wp-config.php

Otra solución, algo radical hay que reconocerlo, es desactivar el cron de WordPress. Un método desactivarlo en el archivo wp-config.php de tu instalación.

Para ello, busca la línea siguiente:

Y justo debajo añade esta otra:

Guarda los cambios en el archivo y ya no se ejecutará la sincronización de los comentarios de Disqus, ni ninguna otra tarea, en el cron de WordPress.

Eso sí, tampoco funcionarán muchas otras cosas en tu WordPress, como la publicación de entradas publicadas, automatizaciones, comprobación de enlaces entrantes y decenas más de procesos, pero lo que si te aseguro es que tu web irá como la seda, y el consumo de CPU y resto de recursos del servidor bajará a casi cero.

Sí, reconozco que es una solución radical, pero te animo a probarla al menos una vez en la vida, y a comprobar si realmente necesitas todos esos procesos cron que se ejecutan en WordPress 😉

Siempre puedes volver a activar el cron borrando la línea anterior o cambiándola así:

Solución 5: Desactiva totalmente el cron desde .htaccess

Otro modo alternativo de desactivar totalmente el cron de WordPress es añadiendo lo siguiente a tu archivo .htaccess:

Guarda los cambios y se desactivarán todas las tareas del cron de WordPress, garantizado.


Bueno, espero que lo consigas y reduzcas el consumo de CPU de tu web con estos trucos para optimizar Disqus.

Si te interesa este tema del WPO, de la optimización de carga puedes echar un vistazo a estos otros artículos:

Valora este artículo para mejorar la calidad del blog ...

Al hacer una valoración se recoge una cookie con la IP de tu dispositivo

FlojitoNo está malEstá bienMe ha servidoFantástico (4 votos, promedio: 5,00 de 5)
Cargando…

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Autor del libro WordPress - La tela de la araña. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera.

Comparte esta entrada en
468 ad

Centro de preferencias de privacidad

Cookies imprescindibles

Se usan para saber si ya aceptaste nuestras políticas, si ya estás suscrito a nuestra newsletter, para reconocer el estado de tu sesión si la tuvieses y para servir más rápidos los contenidos.

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

JSESSIONID, _cfuid, wpSGCachePypass, mailerlite, gdpr, gawp
mailerlite, _cfuid

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID, disqus_unique, disqusauth
disqus_unique, disqusauth
1P_JAR, APISID, CONSENT, HPSID, NID, SAPISID, SID, SIDCC, SSID

Pin It on Pinterest

Share This