El sitio de la nube es lento

Este artículo proporciona recomendaciones sobre cómo mejorar el rendimiento de su sitio de Adobe Commerce en la infraestructura en la nube bajo cargas de tráfico pesadas y cómo reducir esta carga.

Versiones y ediciones afectadas

  • Adobe Commerce en la infraestructura en la nube, todas las versiones

Problema

Pasos a seguir

  1. Visite su tienda de Adobe Commerce.
  2. Examine una página de categoría.
  3. Añadir un producto al carro de compras.

Resultado esperado

El sitio es adaptable y añadir un producto al carro de compras es rápido.

Resultado real

El sitio es lento o las páginas de categoría son rápidas, pero la página del carro de compras es lenta.

Pasos y soluciones de depuración

Realice los siguientes pasos para rastrear el motivo del rendimiento lento y solucionarlo. Puede cambiar el primer y el segundo paso, pero continuar bloqueando direcciones IP solo si la optimización de la configuración de la caché no ayuda.

  1. Compruebe la tasa de visitas en caché para las páginas con alto tráfico y reduzca la cantidad de datos actualizados.
  2. Compruebe la tasa general de visitas de caché del sitio y verifique la configuración general de caché/Fastly.
  3. Identifique los clientes web que provocan la carga alta del servidor y bloquee las IP que provocan la carga alta.

Los siguientes párrafos proporcionan más detalles para cada paso.

Paso 1: Compruebe la tasa de visitas en caché para las páginas con alto tráfico

El primer paso para corregir un sitio atascado por tráfico intenso es garantizar que las páginas con el tráfico más intenso, como la página principal de la tienda y las páginas de categoría de nivel superior, se almacenen en caché correctamente.

Puede averiguar las tasas de aciertos de caché para estas páginas revisando la X-Cache Encabezados HTTP que utilizan cURL, tal como se describe en Comprobación de caché mediante cURL en la documentación de Fastly. O compruebe los mismos encabezados con la pestaña de red de la barra de herramientas del desarrollador de su explorador web favorito.

Fastly suele respetar los encabezados de respuesta procedentes de la aplicación; sin embargo, si todos los encabezados están configurados en "no almacenar en caché" y para que la página "caduque en el pasado", Fastly no puede almacenar en caché la página.

WARNING
Tenga en cuenta que cambia rápidamente los encabezados de respuesta, por lo que al comprobar la URL principal con cURL o el explorador web no se muestran necesariamente los encabezados que emite la aplicación. Es común que Fastly responda a exploradores web con encabezados "sin caché", pero que la propia aplicación web permita el almacenamiento en caché y que Fastly almacene en caché correctamente el elemento. Por lo tanto, la información de los encabezados "cache-control" y "pragma" no será útil en este caso.

Solución de problemas para páginas con mucho tráfico

Si la página de índice tiene una tasa de visitas baja, puede corregirla reduciendo la cantidad de datos muy actualizados presentes en esa página.

Paso 2: Compruebe la tasa global de visitas de caché del sitio

Para comprobar la tasa de aciertos de caché general:

  1. Obtener credenciales rápidamente para su entorno de Adobe Commerce en la nube.

  2. Ejecute el siguiente comando cURL de Linux/macOS para comprobar la tasa de visitas del sitio durante los últimos 30 minutos, reemplazando y con los valores de las credenciales de Fastly:

    curl -H "Fastly-Key: " https://api.fastly.com/stats/service//field/hit_ratio?by=minute | json_pp

    También puede comprobar las tasas de visitas históricas del último día o mes cambiando la opción de consulta de intervalo de tiempo de ?by=minute hasta ?by=hour o ?by=day. Para obtener más información sobre la obtención de estadísticas de caché de Fastly, consulte Opciones de consulta en la documentación de Fastly.

    El | json_pp imprime la salida de respuesta JSON utilizando la variable json_pp utilidades. Si obtiene un error_'json_pp not found'_, instale el json_pp o utilice otra herramienta de línea de comandos para la impresión con sangría de JSON. También puede eliminar la variable | json_pp y ejecute de nuevo el comando. El resultado de la respuesta JSON no tiene formato, pero puede ejecutarlo a través de un embellecedor JSON para limpiarlo.

Una tasa de visitas superior al 0,90 o al 90 % indica que la caché de página completa está funcionando.

Una tasa de visitas inferior al 0,85 o al 85 % puede indicar un problema de configuración del sitio o puede tener instalada una extensión de terceros que no permite almacenar su contenido en caché.

Resolución de problemas de tasa de aciertos de caché general

  1. Mediante las estadísticas de tasa de visitas por hora y por día, identifique cuándo comenzó a disminuir la tasa de visitas. Si la tasa de visitas disminuyó repentinamente aproximadamente al mismo tiempo que implementó un cambio en el sitio, considere revertir el cambio hasta que se reduzca la carga del sitio.
  2. Compruebe la configuración en Commerce Admin, en Tiendas > Configuración > Avanzado > Sistema > Caché de página completa. Asegúrese de que TTL para contenido público El valor no se ha establecido en un nivel demasiado bajo.
  3. Asegúrese de que ha cargó los fragmentos de VCL.
  4. Si utiliza fragmentos de VCL personalizados, devíselos para un uso correcto de las acciones "pass" o "pipe": deben utilizarse con cuidado y, como mínimo, con una condición de algún tipo. Para obtener más sugerencias, consulte Fragmentos de VCL personalizados de Fastly en nuestra documentación para desarrolladores.

Paso 3: Identificar los sitios web que causan la alta carga del servidor

Puede utilizar cualquiera de los siguientes métodos para obtener información sobre las direcciones IP que acceden a su tienda Adobe Commerce.

  • Compruebe los registros de acceso HTTP a través de una sesión SSH.
  • Póngase en contacto con el servicio de asistencia técnica de Adobe Commerce para solicitar una lista de direcciones IP que causen una carga pesada en el sitio.

Comprobación de los registros de acceso HTTP

Para ver el registro de acceso del sitio, ejecute el siguiente comando desde el entorno de desarrollo local:

magento-cloud log access

Ver más líneas con

--lines

, por ejemplo:

magento-cloud log access --lines=500

Puede ver este registro y comprobar si una gran parte de las solicitudes provienen de una dirección IP específica. Otra forma es utilizar awk , sort y uniq para contar automáticamente las direcciones IP que se producen con más frecuencia en el registro, como las siguientes:

magento-cloud log access --lines 2000 | awk '{print $1}' | sort | uniq -c | sort
  -nr

Si la variable

magento-cloud log

no funciona, puede conectarse al servidor remoto con SSH y comprobar el archivo de registro en /var/log/access.log

Después de identificar las direcciones IP que causan una carga pesada en el servidor, puede bloquearlas configurando una lista de bloqueados IP desde en el panel de administración de Commerce, en Tiendas > Configuración > AVANZADO > Sistema > Caché de página completa > Configuración rápida > Bloqueo.

Si no puede acceder a su administrador debido a una carga pesada, puede utilizar la API de Fastly para configurar las reglas de bloqueo:

  1. Cree la ACL como se describe en la Trabajar con ACL mediante la API Documentación de Fastly.

  2. En el recv , cree un fragmento de VCL con el siguiente contenido, y reemplace ACL_NAME_GOES_HERE por el nombre de la ACL que se creó en el paso anterior:

    code language-none
    if( req.http.Fastly-Client-IP ~ ACL_NAME_GOES_HERE ) {
    error 403 "Forbidden";
    }
    

Para obtener más información sobre cómo bloquear direcciones IP, consulte la Guía del módulo de Fastly Adobe Commerce en GitHub.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a