Entendiendo la velocidad de carga del sitio: The Time to First Byte (TTFB)

Al solucionar problemas de un sitio web lento, hay algunas métricas útiles para determinar las causas y soluciones. Una de esas métricas es el Tiempo hasta el primer byte o «Time To First Byte» (TTFB). Una medida utilizada por todas las herramientas de evaluación comparativa del rendimiento del sitio. Es una medida importante para medir qué tan rápido comienza a cargarse tu sitio web en una ubicación específica o con una combinación particular de configuraciones. Comprender el TTFB puede ayudarte a comprender mejor cómo funciona la velocidad del sitio web, qué ralentiza tu sitio y cómo solucionarlo.

¿Qué es el tiempo para el primer byte (TTFB)?

TTFB mide el tiempo transcurrido entre el momento en que un usuario web realiza una solicitud HTTP, como cargar una página web, hasta el momento en que el navegador del cliente recibe el primer byte. Muchos usan esta lectura como una forma rudimentaria de probar la velocidad del servidor y mientras esto funciona, realmente es solo la mitad de la historia. Si el sitio web que intentas cargar utiliza un Sistema de Gestión de Contenido o CMS como WordPress, el servidor debe realizar todos los cálculos del CMS necesarios para producir contenido. El servicio de PHP debe cargar su base de datos MySQL, obtener el contenido, calcular la salida HTML adecuada y devolverlo al visitante del sitio web.

Si tienes un CMS lento, todos estos pasos pueden llevar tiempo y es posible que tengas malos resultados de TTFB de 1 a 3 segundos o más. Eso no significa necesariamente que tu servidor de alojamiento sea lento o tenga problemas. La mayoría de las veces, significa que tienes demasiados complementos o extensiones, que no estás utilizando un sistema de almacenamiento en caché o que estás utilizando una versión antigua de PHP. Por supuesto, es una historia totalmente diferente si estás midiendo una página HTML estática con un TTFB lento. Entonces, es posible que desees investigar desde el propio servidor, ya que no hay otros factores que afecten el rendimiento del sitio.

¿Cómo afecta el almacenamiento en caché dinámico al TTFB?

El almacenamiento en caché dinámico es como hacer que un barista local recuerde tu pedido en lugar de tener que repetirlo cada vez. Debido a que ya conocen tu bebida, puede comenzar a prepararla tan pronto como entres y te la sirvan mucho más rápido. El almacenamiento en caché funciona de una manera similar, al almacenar la información necesaria para servir a una página web la próxima vez.

En el caso de SiteGround, «Dynamic Caching» usa NGINX como un proxy inverso. Esto significa que toda la computación de los servicios PHP y MySQL se almacena en la memoria RAM del servidor. Cuando un visitante recibe una respuesta en caché de SiteGround, es como si estuvieran cargando una página HTML estática, ¡solo que más rápido!. Es más rápido porque el contenido se sirve desde la memoria y no desde el disco duro del servidor. Aunque los SSD son súper rápidos, nada se compara con la memoria RAM del servidor cuando se trata de velocidad.

Si tienes el Caché dinámico activado y aún tienes TTFB lento, hay dos cosas que debes verificar:

  • ¿Estás midiendo un resultado en caché? La forma más fácil de verificar es realizar la prueba más de una vez. Es normal obtener un primer resultado más lento y resultados consecutivos mucho más rápidos. Al realizar varias pruebas, puedes garantizar que estás midiendo los resultados en caché.
  • ¿Estás midiendo desde una ubicación geográfica cercana? Si realizas las pruebas desde una ubicación remota, es normal que tengas una latencia de red alta. Si deseas que tu sitio sea rápido desde una variedad de ubicaciones, considera implementar un CDN.

¿Se pueden almacenar en caché todas las páginas?

No todas las páginas se pueden almacenar completamente en caché. Las páginas de verificación, los carritos de compra y los usuarios registrados tienen circunstancias especiales. Eso no significa que el TTFB tenga que ser lento. El primer paso es asegurarse de que estás utilizando PHP 7.1 o superior. En SiteGround tienen el opcache habilitado de forma predeterminada para él y WordPress y otras aplicaciones de CMS funcionan mucho más rápido. A continuación, puedes usar el servicio Memcached para mejorar el tiempo que tarda la aplicación en obtener datos del servidor MySQL.

Por último, pero no menos importante, comprueba los complementos (plugins) que estás utilizando. ¿Cuántos estás utilizando, son de alta calidad y qué carga causan en el proceso de representación de tu página?

El almacenamiento en caché tiende a camuflar los sitios web mal construidos al enmascarar los problemas de desarrollo. Si tu sitio se carga rápidamente sin caché, esto significa que tiene un buen código y está «en buen estado». No debes confiar únicamente en el Dynamic Caching o sus propios complementos de almacenamiento en caché para tener un sitio web rápido.

¿Cómo afecta una red de entrega de contenido (CDN) al TTFB?

Como se mencionó anteriormente, el TTFB se ve seriamente afectado por la velocidad de la red entre el servidor y tu navegador (o la herramienta que estás utilizando para probar la velocidad). El uso de un CDN puede mejorar la velocidad de tu sitio si tienes puntos finales cerca de tu ubicación geográfica. Sin embargo, ten en cuenta que si tienes un CDN como CloudFlare habilitado, estás midiendo el TTFB entre tu navegador y el punto final del CDN particular que atiende tu solicitud y no entre tu sitio y el servidor de SiteGround. Si el CDN aún no ha guardado en caché tu contenido, primero debes llamar al servidor de SiteGround, obtener los datos, distribuirlos y luego entregarlos a ti. Eso puede causar un retraso adicional antes de que se reciba el primer byte.

Para solucionar esto, asegúrate de tener el almacenamiento en caché habilitado para tu CDN y verifica si tienes un punto final cercano a tu destino geográfico. Vale la pena experimentar con diferentes proveedores de CDN en caso de que tus visitantes estén en una parte del mundo que no esté cubierta por la actual.

Ahora te toca ti!

Es un tema bastante técnico. Pero la velocidad de carga de un sitio web es crucial para muchos negocios. Por lo que es indispensable hacerle seguimiento y resolverlo si es necesario. Verás que el desempeño y las ventas mejorarán de forma relevante. Si necesitas ayuda con tu sitio web, no dudes en contactarme aquí hoy.