Investigación de Amasty | Caché de página completa frente a caché de barniz

Amasty Team ha lanzado recientemente una nueva extensión Full Page Cache, destinada a acelerar las páginas de la tienda Magento, conocidas por su enorme peso. Full Page Cache es un gran éxito, reduce considerablemente el tiempo de carga de la página y ofrece una serie de otras características interesantes . Pero las acciones hablan más que las palabras. Y las estadísticas hablan aún más alto. Consulte la nueva investigación de Amasty sobre qué tan rápido puede ser Magento con Full Page Cache.

→ ¿Ya se cambió a Magento 2? Pruebe la extensión de optimización de velocidad que lanzamos recientemente. Mejore el rendimiento de su sitio con numerosas visitas.

Resumen del artículo [ ocultar ]

  • ¿Qué tan rápido puede ser Magento con Full Page Cache?
    • CONFIGURACIÓN DE PRUEBA
  • Magento Varnish Cache vs. Full Page Cache: prueba de comparación
    • CONFIGURACIÓN DE PRUEBA

¿Qué tan rápido puede ser Magento con Full Page Cache?

CONFIGURACIÓN DE PRUEBA

HARDWARE

  • Procesador: Intel Xeon L5520 2,27 GHz (16 núcleos)
  • RAM: 16GB
  • Almacenamiento: SSD INTEL SSDSC2BB480G4

SOFTWARE

  • Comunidad Magento 1.8.1.0
  • Datos de muestra de Magento 1.2.0
  • apache 2.2.22
  • PHP 5.4.4 (mod_php + Zend OpCache 7.0.3)
  • MySQL 5.5.35

Para probar Apache jMeter con el siguiente escenario se utilizó:

  1. Un visitante va a la página de inicio del sitio web;
  2. Busca «camisa» en el campo de búsqueda;
  3. El resultado se filtra por precio ($0.00 — $99.99);
  4. Después de eso, el resultado se filtra por color (color blanco);
  5. Como resultado, solo queda 1 Producto, el usuario abre su página;
  6. El Producto se agrega al carrito en la Página del Producto;
  7. Después de eso, el usuario va a la página de categoría «Electrónica / Cámaras / Cámaras digitales»;
  8. El usuario recarga la Página de Categoría «Electrónica / Cámaras / Cámaras Digitales»;
  9. En la página de categoría, se agrega la cámara Canon PowerShot A630 para comparar;
  10. En la página de categoría, se agrega la cámara Kodak EasyShare C530 para comparar;
  11. Se abre la página de comparación de productos;
  12. Desde la página de comparación de productos, se agrega al carrito la cámara Canon PowerShot A630.

La prueba se realizó para 10, 20, 30, 40 y 50 visitantes simultáneos en las variantes “Only Magento cache on” y “Magento cache and FPC on”. Antes de cada lanzamiento, se borraba la memoria caché de Magento y se lanzaba una prueba para 10 visitantes simultáneos, pero sus resultados no se tenían en cuenta (esto se hace para evitar una diferencia en los resultados relacionados con el aumento de la cantidad de memoria caché durante los sucesivos lanzamientos de prueba). ).

Para comparar todas las variantes posibles, también hemos probado una variante cuando Magento tiene el almacenamiento en caché desactivado. Los lectores más impacientes pueden ver su resultado en el siguiente diagrama (el resultado de la Página de Producto con 50 visitantes simultáneos).

FPC activado (seg) FPC desactivado (seg) Sin almacenamiento en caché (seg)
Página del producto 0.035 0.295 3.625

Para evitar la influencia de la velocidad de transferencia de datos en Internet, la prueba se lanzó en el modo «Inicio remoto». En este caso, en el servidor donde está instalado Magento probado, Apache jMeter se inicia en el modo de servidor, que recibe la prueba del cliente administrador, la realiza y envía los resultados al cliente. La parte del cliente de Apache jMeter se inicia en el escritorio, administra solo la parte del servidor y muestra los resultados. De esta forma hemos evitado la influencia de la carga del canal de Internet en los resultados de las pruebas.

Cada prueba se realizó 10 veces para proporcionar el cálculo correcto del valor promedio de los resultados de la prueba. Esto fue para 50 usuarios simultáneos jMeter realizará el escenario de prueba 500 veces. El escenario de prueba contiene 12 solicitudes al servidor (la descarga de recursos de la página CSS/JS/imágenes no se tienen en cuenta en los resultados de la prueba), de esta manera durante la prueba con 50 visitantes simultáneos se envían 6000 solicitudes al servidor.

Los resultados de la prueba en ms vienen en la tabla de la siguiente manera:

Probablemente haya notado que la página de categoría se abre dos veces. Esto se debe a que cuando se agrega un producto al carrito, se cambia el estado de los bloques dinámicos, cuyo contenido debe recargarse durante la próxima solicitud a los mismos. En este caso, la primera impresión de Página desde el caché es más lenta que las sucesivas. Para ver la diferencia en la velocidad de carga (cuando los bloques dinámicos ya están recargados) la prueba va a la página de Categoría una vez más. Y la página se descarga completamente desde el caché.

Según los datos de la tabla, se han creado los siguientes diagramas para una mejor evaluación visual de la diferencia en la velocidad de respuesta del servidor.

El último diagrama muestra los resultados promedio en todas las categorías mencionadas. El uso de la extensión Full Page Cache Magento nos permite, en promedio, aumentar la velocidad 5 veces. En algunas pruebas, la diferencia es aún mayor.

Pero, ¿qué hace que nuestra extensión sea mejor que Varnish Cache y si es mejor en absoluto?

Magento Varnish Cache vs. Full Page Cache: prueba de comparación

Si necesita acelerar su tienda Magento, simplemente ‘más rápido’ no es suficiente para describir el rendimiento de su sitio web. Un concurso justo de dos extensiones de caché de Magento con resultados de velocidad detallados está a su servicio.

→ Compruebe cómo configurar el caché de barniz en Magento 2

CONFIGURACIÓN DE PRUEBA

Hemos cambiado un poco la configuración de prueba en comparación con nuestra prueba anterior de caché de página completa.

Hardware

  • Procesador: Intel Xeon L5520 2,27 GHz (16 núcleos)
  • RAM: 16GB
  • Almacenamiento: SSD INTEL SSDSC2BB480G4

Software

  • Comunidad Magento 1.9.0.0
  • Datos de muestra de Magento 1.9.0.0
  • apache 2.2.22
  • Barniz 3.0.2
  • PHP 5.4.4 (mod_php + Zend OpCache 7.0.3)
  • MySQL 5.5.35

Varnish Cache es un acelerador de aplicaciones web también conocido como proxy inverso HTTP de almacenamiento en caché. Se instala frente a cualquier servidor que hable HTTP.

Varnish Cache en sí no está diseñado para trabajar con Magento directamente, por lo que tomamos el módulo Nexcess Trementine para la integración de Magento y Varnish para la prueba de velocidad. Basándonos en las recomendaciones del productor del módulo Trementine, agregamos «-p esi_syntax=0×2 -p cli_buffer=16384» a las opciones de inicio de Varnish. Como resultado, las opciones de inicio de Varnish se veían de la siguiente manera:

DAEMON_OPTS=”-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m -p esi_syntax=0x2 -p cli_buffer=16384″

Para evitar conflictos entre Apache y Varnish, Apache se cambió al puerto 8080.

Para las pruebas, utilizamos la lista de 14 URL de páginas de categorías y productos: http://nuestro-sitio-de-prueba/

  • http://nuestro-sitio-de-prueba/mujeres.html
  • http://nuestro-sitio-de-prueba/mujeres/nuevas-llegadas.html
  • http://nuestro-sitio-de-prueba/mujeres/nuevos-arribos/tori-tank-460.html
  • http://our-test-site/women/new-arrivals/elizabeth-knit-top-484.html
  • http://our-test-site/women/new-arrivals/lafayette-convertible-dress.html
  • http://nuestro-sitio-de-prueba/mujeres/tops-blouses.html
  • http://nuestro-sitio-de-prueba/mujeres/tops-blouses/nolita-cami-484.html
  • http://nuestro-sitio-de-prueba/mujeres/tops-blouses/black-nolita-cami.html
  • http://nuestro-sitio-de-prueba/mujeres/pantalones-denim.html
  • http://nuestro-sitio-de-prueba/mujeres/pantalones-denim/dumbo-boyfriend-jean.html
  • http://nuestro-sitio-de-prueba/mujeres/vestidos-faldas.html
  • http://nuestro-sitio-de-prueba/mujeres/vestidos-faldas/essex-pencil-skirt-527.html
  • http://nuestro-sitio-de-prueba/mujeres/vestidos-faldas/ludlow-sheath-dress.html

Antes de cada lanzamiento de prueba, se borró el caché de Magento y se realizó una sola visita a todas las URL para «calentar el caché» antes de obtener los resultados de la prueba. Luego se lanzó la prueba de calentamiento para 10, 20, 30, 40 y 50 visitantes simultáneos.

Los resultados de la prueba de comparación (en ms) se encuentran en la siguiente tabla:

10 visitantes 20 visitantes 30 visitantes 40 visitantes 50 visitantes
Caché de página completa Barniz y Trementina Caché de página completa Barniz y Trementina Caché de página completa Barniz y Trementina Caché de página completa Barniz y Trementina Caché de página completa Barniz y Trementina
Pagina principal 10 89 35 156 44 228 71 258 109 328
Inicio / Mujer 7 46 9 69 14 58 13 63 dieciséis 81
Inicio / Mujer / Novedades 7 44 11 71 8 89 dieciséis 80 15 51
Inicio / Mujer / Novedades / Camiseta sin mangas Tori 7 43 8 43 12 46 14 43 21 42
Inicio / Mujer / Novedades / Top de punto Elizabeth 7 40 8 40 10 40 15 40 18 34
Inicio / Mujer / Novedades / Vestido convertible Lafayette 7 40 8 40 10 39 15 38 17 34
Inicio / Mujer / Tops y Blusas 7 41 9 41 13 40 11 40 dieciséis 37
Inicio / Mujer / Tops y Blusas / NoLIta Cami 7 40 8 40 15 39 15 39 14 34
Inicio / Mujer / Tops y Blusas / Cami Nolita Negra 7 40 9 40 8 39 13 39 14 33
Inicio / Mujer / Pantalones y Denim 7 40 9 40 8 40 9 42 18 35
Inicio / Mujer / Pantalones y Denim / DUMBO Boyfriend Jean 7 40 8 48 dieciséis 39 11 38 17 34
Inicio / Mujer / Vestidos y Faldas 7 40 8 41 8 41 11 39 dieciséis 37
Inicio / Mujer / Vestidos y Faldas / Falda Lápiz Essex 7 40 9 40 12 40 13 38 17 34
Inicio / Mujer / Vestidos y faldas / Vestido tubo Ludlow 7 40 8 40 8 39 9 41 11 34
TOTAL 8 45 10 54 13 58 17 60 23 61

Para que los resultados sean más fáciles de comprender y permitirle ver vívidamente la velocidad de carga de la página que proporciona cada extensión de Magento, hemos creado algunos diagramas.

Como puede ver, la velocidad de Full Page Cache supera la combinación de Varnish Cache y Trementine en 2 a 4 veces. La mayor diferencia se puede ver durante la primera visita al sitio web: en este momento, ambos cachés crean una sesión para el usuario y deben inicializar Magento. Dado que Full Page Cache se inicializa en la etapa inicial, puede dar el resultado almacenado en caché rápidamente y Trementine usa mucho tiempo en vano en la inicialización adicional. Este es un punto importante, ya que su impacto tiene que ver con las primeras visitas y la impresión de los usuarios de su sitio web.

Según Kissmetrics, un retraso de 1 segundo en la velocidad de carga del sitio web puede disminuir las conversiones en un 7%. Incluso es posible que desee contar el dinero que pierde con una extensión de caché de Magento que proporciona un peor tiempo de carga de la página.

De esta forma, el equipo de Amasty le recomienda utilizar la extensión de Magento Caché de página completa para proporcionar el tiempo de carga de página mínimo posible.