Métodos de almacenamiento en caché de Magento 2 [Guía para principiantes]

¡Hola a los lectores del blog de Amasty!

Hoy vamos a hablar sobre el rendimiento del sitio Magento 2 . La velocidad de carga de las páginas no es lo que debemos explicarle a nadie. Basta recordar el último caso en el que te enojaste cuando la tienda favorita no cargaba la página del producto deseado. ¿Crees que tus clientes deberían haber aprobado eso?

¡Entonces es hora de buscar una nueva solución!

¿Quieres aumentar la velocidad de M2?

¡Deje su correo electrónico y obtenga acceso GRATUITO a nuestro seminario web sobre la optimización de la velocidad de la página!

(function() {
if (!window.mc4wp) {
window.mc4wp = {
listeners: [],
forms : {
on: function (event, callback) {
window.mc4wp.listeners.push({
event : event,
callback: callback
});
}
}
}
}
})();

(function() {
mc4wp.forms.on(‘28330.submit’, function(form, event) {
event.preventDefault();

var submitForm = function() {
if(form.element.className.indexOf(‘mc4wp-ajax’) > -1) {
mc4wp.forms.trigger(‘submit’, [form, event]);
} else {
form.element.submit();
}
};
var previousToken = form.element.querySelector(‘input[name=_mc4wp_grecaptcha_token]’);
if (previousToken) {
previousToken.parentElement.removeChild(previousToken);
}

try {
window.grecaptcha
.execute(‘6LcoY6UZAAAAAP7Dqjtr6MPM8yGySn617oAlWVSx’, {action: ‘mc4wp_form_submit’})
.then(function (token) {
var tokenEl = document.createElement(‘input’);
tokenEl.type = ‘hidden’;
tokenEl.value = token;
tokenEl.name = ‘_mc4wp_grecaptcha_token’;
form.element.appendChild(tokenEl);
submitForm();
});
} catch(err) {
submitForm();
throw err;
}
})
})();

Como sabe, el almacenamiento en caché es uno de los mecanismos más poderosos para permitir que sus clientes obtengan lo que quieren más rápido sin perder un tiempo invaluable esperando que se carguen las páginas. Magento 2 admite varias soluciones de administración de caché.

En esta publicación, consideraremos los pros y los contras de todas las soluciones y descubriremos cómo funcionan.

Resumen del artículo [ ocultar ]

  • ¿Quieres aumentar la velocidad de M2?
  • ¿Qué es un servidor de caché?
  • Solución #1: sistema de archivos
    • ventajas
    • Contras
  • Solución #2: base de datos
    • ventajas
    • Contras
  • Solución #3: Redis
    • ventajas
    • Contras
  • Solución #4: barniz
    • ventajas
    • Contras
  • ¿Qué ofrece Amasty o qué es un calentamiento de caché?

¿Qué es un servidor de caché?

En pocas palabras, este es el lugar donde se almacena la información en caché. Por lo tanto, el rendimiento de su sitio se ve directamente afectado por el servidor de caché que utiliza. Intentaremos hacer una breve descripción general de las soluciones back-end de caché de Magento 2 existentes para ayudarlo a tomar la decisión que se adapte a las necesidades de su tienda.

Solución #1: sistema de archivos

¿Como funciona?

Los datos almacenados en caché se almacenan en archivos en un disco. Puede encontrarlos en un servidor en las carpetas magento_installation_folder/var/cache/ y magento_installation_folder/var/page_cache/ .

La velocidad de carga depende de la velocidad de lectura/escritura del disco. Por lo tanto, un sistema de archivos adecuado y un almacenamiento SSD pueden mejorar los resultados.

ventajas

La solución está disponible lista para usar. Por lo tanto, no hay necesidad de lidiar con la configuración de caché de Magento 2 y la habilitación difícil.

Puede vaciar la memoria caché con los detalles de acceso al servidor solo eliminando todos los archivos de las carpetas  var/cache/ y var/page_cache/ . Por lo tanto, no es necesario iniciar sesión en el Panel de administración .

Contras

La velocidad de lectura/escritura del disco suele ser más lenta que la velocidad de las mismas operaciones para la base de datos o la RAM.

Un servidor compartido o un servidor con varias tiendas puede quedarse sin inodos. La mayoría de los hosters usan sistemas de archivos con límite de inodos: un número de archivos/carpetas permitidas para la creación/carga. Entonces, cuando un dispositivo se queda sin inodos, no se pueden crear ni cargar nuevos archivos, incluso si hay espacio libre en el disco.

Solución #2: base de datos

¿Como funciona?

Esta solución no muy popular (según nuestra experiencia) utiliza la base de datos Magento 2 para almacenar datos en caché. Los nuevos registros se crean en las tablas cache y cache_tag con cada nueva página visitada.

Entonces, en este caso, debe prestar atención a un sistema de administración sabiamente elegido y una configuración de base de datos adecuada.

ventajas

La solución es escalable. En caso de que una tienda se replique en varios servidores para equilibrar la carga del sitio, la base de datos se puede utilizar como un almacenamiento de caché común para numerosos nodos de Magento.

Además, no requiere ninguna habilidad especial para habilitarlo. Todo lo que necesita es editar el único archivo en el servidor siguiendo la guía del equipo de Magento.

También es posible vaciar el caché sin acceder al Panel de administración de Magento 2 truncando las tablas de caché y cache_tag . Sin embargo, deberá tener las credenciales de la base de datos.

Contras

Debido a varios problemas comunes, esta solución no es totalmente compatible con los tipos de caché personalizados. (Lea más sobre esto aquí ). Sin embargo, si solo se utiliza una funcionalidad de almacenamiento en caché nativa de Magento 2, estos problemas no afectarán su tienda de todos modos.

Varios registros en las tablas relacionadas crecen muy rápido. Si hay varios sitios web/tiendas en una instancia de Magento, puede llegar a 10 millones en unas pocas horas y causar una gran carga en el servidor de la base de datos. Esto inevitablemente afectará el rendimiento del sitio.

Solución #3: Redis

¿Como funciona?

Redis es uno de los sistemas de administración de almacenamiento en caché más populares en Magento 2 y en la web. Mantiene los datos en la memoria del servidor (RAM). En algunos casos, los datos almacenados en caché también se pueden guardar parcialmente en el disco; sin embargo, esta característica casi no se usa con Magento.

Es una buena idea considerar usar un servidor separado con un tamaño de RAM adecuado para el almacenamiento en caché de Redis.

ventajas

La velocidad de lectura y escritura de la memoria es mucho más rápida que las mismas operaciones realizadas con el disco o la base de datos.

Los datos almacenados en caché se almacenan y manejan de manera optimizada con la ayuda de etiquetas de caché e indexación interna, por lo que lleva menos tiempo encontrar la información solicitada.

El almacenamiento en caché se puede alojar en un servidor separado, por lo que Magento no tiene que compartir recursos con él. Este backend de caché es escalable tanto verticalmente (puede manejar el número creciente de solicitudes, así como almacenar más datos) y horizontalmente (se puede usar como un almacenamiento de caché común para varias instalaciones de Magento replicadas en servidores separados).

Existe la posibilidad de configurar la replicación de datos almacenados en caché en otros servidores. Entonces, si la conexión con el almacenamiento principal se pierde por algún motivo, los datos se tomarán del replicado. Esta función se denomina replicación maestro/esclavo para magento.

Contras

En la medida en que el almacenamiento principal es una memoria de servidor, el tamaño de los datos almacenados en caché está limitado por el tamaño de la memoria RAM del servidor.

La habilitación y configuración de este sistema de almacenamiento en caché de Magento 2 no son tan obvias y es mejor ponerse en contacto con un administrador de sistemas capacitado.

Solución #4: barniz

¿Como funciona?

Esta solución realmente poderosa y revolucionaria también almacena datos almacenados en caché en una memoria. Pero el truco está en la forma en que funciona. La cuestión es que almacena en caché las respuestas del servidor web. Entonces, cuando los datos se cargan desde el caché, las solicitudes de los visitantes ni siquiera llegan a un servidor web y las páginas de Magento se cargan directamente desde Varnish.

En la medida en que esta solución también consume mucha RAM, debe asegurarse de que haya suficiente memoria en el servidor o debe mover Varnish a uno separado.

ventajas

Las solicitudes a las páginas de los visitantes del sitio no son manejadas por un servidor web y Magento. En combinación con el uso de la memoria del servidor como almacenamiento, este comportamiento brinda una ventaja suficiente en la velocidad de devolución del contenido almacenado en caché.

Se admite de forma nativa en Magento 2. Por lo tanto, no es necesario lidiar con extensiones de terceros.

Contras

Varnish no es compatible con HTTPS (protocolo SSL). Como solución alternativa, existe una opción para configurar un terminador SSL o un proxy para descifrar el tráfico HTTPS de los visitantes antes de que llegue a Varnish y cifrar la respuesta.

Si todos los archivos de la carpeta var/cache se eliminan manualmente, se debe reiniciar el servicio Varnish.

Esta solución no es totalmente compatible con algunas extensiones Magento de terceros (p. ej., diferentes módulos GeoIP).

La configuración óptima es realmente complicada y requiere habilidades y conocimientos específicos.

¿Qué ofrece Amasty o qué es un calentamiento de caché?

No importa qué backend de caché se use, hay un problema común: el primer visitante verá una página sin caché. Por lo tanto, el tiempo de carga será mucho más lento.

La solución obvia aquí es visitar estas páginas para almacenarlas en caché antes de que un cliente real llegue a su tienda. Y lo mejor es que no hay diferencia si lo hace una persona real o un bot.

Por lo tanto, el calentamiento es un rastreo preliminar de las páginas del sitio para que se almacenen en caché. Y este es el caso en el que Amasty puede ayudarte. Nuestra extensión Calentador de caché de página completa para Magento 2 genera una cola de URL y las visita una por una. Por lo tanto, cuando tiene algunos visitantes en su tienda, no tienen que esperar mientras Magento genera la página desde cero; se cargará desde el caché ya que nuestro módulo ya la ha visitado antes.

¡Proporcione a los usuarios una carga de página fluida y atraiga más tráfico!

IR A LA EXTENSIÓN

Eso es un resumen por hoy. Esperamos que este artículo le haya brindado una comprensión general de los métodos de almacenamiento en caché de Magento 2 y sus ventajas y desventajas.

¿Todavía tienes alguna pregunta? Déjalas en los comentarios a continuación y haremos todo lo posible para ayudarte.

¡Manténganse al tanto!