Cómo solucionar la carga lenta inicial de WordPress en servidor local

1 feb 2018, 02:36:34
Vistas: 17.1K
Votos: 11

Resumen

Acceder a una página de WordPress por primera vez tarda unos 5-7s en cargar desde un servidor local, frente a 300-500ms en cargas posteriores. Aproximadamente 10 veces más lento en el primer acceso, lo cual es inaceptable. La caché del navegador está desactivada en las herramientas de desarrollo. ¿Cómo solucionarlo?

Información detallada

Noté que cuando accedo a una página de WordPress por primera vez (tras limpiar todo en Chrome), esa página tarda unos 5-7s en cargar, considerando que es un servidor local, ese tiempo es inaceptable. Sin embargo, después de esa primera carga, los accesos posteriores tardan solo unos 0.3-0.5s o 300-500ms (todavía largo para servidor local pero un orden de magnitud más rápido que la primera carga). Para eliminar el problema de caché, la desactivé desde las herramientas de desarrollo del navegador, por lo que todas las solicitudes de página, ya sean iniciales o posteriores, acceden directamente a los archivos web desde el servidor.

Pruebas realizadas

Al principio pensé que era un problema del servidor, así que lo trasladé a localhost para ver si persistía. Y efectivamente así fue.

También pensé que podría ser un problema de DNS, así que revisé el httpd.conf y los archivos host de DNS en Windows, donde tengo solo una IP: 127.0.0.1. También actualicé el host en el config.php de WordPress a 127.0.0.1, así como en la base de datos. Aún así, sigo teniendo la misma lentitud en la primera carga. Argumenté que, si fuera un problema de DNS, entonces la página no cargaría O cargaría pero debería ser consistentemente similar. Sin embargo, la lentitud solo afecta a la primera carga.

Los reinicios del servidor, apagado completo + arranque no influyen en los tiempos de carga. Solo depende de si es el primer acceso del cliente o no.

Encontré una publicación sobre nginx & php-fpm muy lento en el primer acceso, donde el usuario inicialmente culpó a su servidor, pero resultó ser su CMS. Basado en mi experiencia, WordPress podría ser la causa de la lenta carga inicial de la página, sin embargo, no sé qué parte de WordPress debo modificar para solucionar el problema. ¿Alguien puede ayudarme a solucionar la lenta carga inicial de WordPress (en servidor local)?

Servidor

WAMP (localhost), 32 núcleos Xeon a 2.7Ghz, 24GB RAM, HDD SATAIII, OpCache habilitado mediante Zend Engine

WordPress

Sin plugins, versión 4.9

Cliente

Chrome & Firefox con caché deshabilitada en Herramientas de desarrollo, cUrl

8
Comentarios

¿Has revisado la caché de consultas de MySQL? ¿Tienes una tabla wp_options extremadamente grande?

janh janh
1 feb 2018 05:37:42

No es grande, solo 4 publicaciones, pero creo que estaba deshabilitada por defecto https://mysqlserverteam.com/mysql-8-0-retiring-support-for-the-query-cache/

Jones G Jones G
1 feb 2018 11:42:45

wp_options, no wp_posts, debería beneficiarse mucho de la caché de consultas, pero con un sitio tan pequeño, parece poco probable que WP haya acumulado mucho allí. ¿Puedes provocar el comportamiento reiniciando php-fpm/nginx/mysql?

janh janh
1 feb 2018 11:48:00

Reiniciar/Apagar el servidor no desencadenó el problema, también limpié el opcache antes de reiniciar/apagar el servidor. Observo que las páginas cargan en solo 0.3s, así que supongo que mi servidor siempre está listo para servir archivos incluso después de un reinicio/apagado + arranque fresco.

Jones G Jones G
1 feb 2018 12:02:57

¿Puedes reproducir el problema usando curl? ¿El registro de acceso de Apache muestra solicitudes adicionales?

janh janh
1 feb 2018 12:10:48

Hola, ok reinicié tanto el cliente como el servidor. Solo los nuevos accesos de clientes al sitio pueden desencadenar el problema. Revisé el registro de acceso de Apache y no había nada, está vacío. Puedo intentar usar curl pero no sé cómo usarlo para este problema. ¿Puedo solicitar algunos comandos curl?

Jones G Jones G
1 feb 2018 12:24:01

Continuemos esta discusión en el chat.

janh janh
1 feb 2018 12:24:24

Creo que podría haber encontrado el culpable. Cada vez que esto ocurre, noté que se lanza wp-cron, lo desactivé por ahora y sigo probando.

Jones G Jones G
10 feb 2018 02:59:51
Mostrar los 3 comentarios restantes
Todas las respuestas a la pregunta 1
1

El rendimiento de carga y velocidad de una página web (WordPress) depende de muchos factores:

  1. Consultas MySQL
  2. Optimización de imágenes
  3. Archivos CSS (a más archivos CSS, mayor tiempo de carga y velocidad de página)
  4. Archivos JavaScript (a más archivos JS, mayor tiempo de carga y velocidad de página)
  5. Diferir el análisis de JavaScript
  6. Minificar JavaScript
  7. Minificar CSS
  8. Habilitar compresión GZIP
  9. Aprovechar el almacenamiento en caché del navegador
  10. Minimizar el tamaño de las solicitudes Y mucho más.

Prueba tu sitio web con https://gtmetrix.com y comienza a solucionar los problemas que el sitio te indique. Para esto necesitarás poner tu servidor local en línea con una IP.

La velocidad de carga de página requiere mucha atención y es un proceso continuo, no un único problema a resolver.

25 ago 2018 16:30:29
Comentarios

Hola, gracias por la información. Según las pruebas que realicé actualmente, parece que el problema es el PHP de WordPress. Reconstruí el sitio usando el mismo servidor pero utilicé mis propios códigos PHP. Ahora, puede cargar en solo 34-170ms para el sitio con todas las funciones versus 300ms - 500ms para WordPress en localhost.

Jones G Jones G
28 sept 2018 18:45:04