
He buscado a mi alrededor pero no puedo encontrar una respuesta definitiva sobre si cosas como Imágenes afectan a TTFB, lo cual sería mi mejor suposición de por qué mi sitio tarda tanto en cargarse en producción. Una vez que la página termina de recibirse por completo, veo que se transfiere, 40.7 mb resources
lo cual es mucho, pero la carga inicial de la página representa solo 20,1 kb de eso, seguido de imágenes/js/css.
El archivo .har exportado desde el inspector de red:
"pages": [
{
"startedDateTime": "2022-04-01T23:10:26.010Z",
"id": "page_1",
"title": "https://example.com/",
"pageTimings": {
"onContentLoad": 5878.881000004185,
"onLoad": 6390.734000000521
}
}
],
Y después de esto sigue cosas como imágenes/js/css.
Cosas que probé:
- Reemplazar el contenido en index.php con una simple declaración de eco
<?php echo 'foobar'; ?>
resolvió el problema inmediatamente ya que la página tardó menos de un segundo en cargarse. - Aseguró que tenía la misma configuración para el caché que otras aplicaciones alojadas en el mismo servidor y que además tardan mucho menos en cargarse.
composer install --optimize-autoloader --no-dev
composer dump-autoload -o
php artisan route:cache
php artisan config:cache
Mi pregunta es: aunque recursos como imágenes/css/js tienen su propio TTFB, ¿podrían aumentar el tiempo hasta el primer byte de la página inicial?
Editar: Otra cosa que quería señalar es que esto ocurre en páginas que no requieren muchos recursos y también que el servidor en el que se encuentra esEstándar de Microsoft Windows Server 2016yVMware, Inc. VMware7.1
Respuesta1
¿Por qué mi aplicación Laravel tiene más de 3 segundos de TTFB en producción?
Perfila tu código. Usarxdebugentoncescanalizarloa su IDE o aKCacheGrind/QCacheGrindpara ver qué está sobrecargando su código.
aunque recursos como imágenes/css/js tienen su propio TTFB, ¿podrían aumentar el tiempo hasta el primer byte de la página inicial?
No por sí solos, depende de la carga de su servidor y de sus configuraciones.
Nuevamente, primero intente crear un perfil de su código. Preferiblemente no en producción.