Utilice Memcached para reducir la carga de la base de datos en el sitio web de WordPress

Publicado: 2018-11-30
Memcached para WordPress
Siga @Cloudways

Memcached es uno de los mecanismos de almacenamiento en caché que residen en su servidor de alojamiento. Se ocupa principalmente de las consultas de la base de datos que ayudan a reducir la carga de la base de datos, lo que da como resultado una página web de carga rápida. Si su sitio web / tienda depende en gran medida de las consultas de la base de datos, el uso de Memcached para el sitio web de WordPress mejoraría significativamente el rendimiento y reduciría el tiempo de carga de la página.

Los gigantes de Internet, incluidos YouTube, Reddit, Facebook, Twitter y Wikipedia, están utilizando Memcached para aumentar el tiempo de carga de la página. Google App Engine, Microsoft Azure, IBM Bluemix y Amazon Web Services también ofrecen el servicio Memcached a través de una API.

Teniendo en cuenta su importancia para aumentar el tiempo de carga de la página, nosotros (Cloudways) ofrecemos Memcached preinstalado en nuestros servidores administrados de alojamiento en la nube de WordPress. Sin embargo, a veces es posible que deba configurar su aplicación (WordPress) para aprovechar al máximo Memcached.

Tabla de contenido

  1. ¿Qué es Memcached?
  2. ¿Para qué se utiliza Memcached?
  3. ¿Cómo funciona Memcached?
  4. ¿Cómo utilizar Memcached?
  5. Instalación de Memcached en el servidor
  6. Compruebe si Memcached se está ejecutando
  7. Memcached para usuarios de Cloudways
  8. Complemento de WordPress Memcached
  9. Pensamientos finales

¿Qué es Memcached?

Según el sitio web oficial de Memcached, Memcached es un:

“Sistema de almacenamiento en caché de objetos de memoria distribuida, de código abierto y de alto rendimiento, de naturaleza genérica, pero diseñado para acelerar las aplicaciones web dinámicas aliviando la carga de la base de datos.

Memcached es un almacén de clave-valor en memoria para pequeños fragmentos de datos arbitrarios (cadenas, objetos) de resultados de llamadas a bases de datos, llamadas a API o renderizado de páginas ".

En un término simple, Memcached es un sistema de almacenamiento en caché de objetos temporales distribuidos que almacena cadenas y objetos en la RAM del servidor como resultado de procesar las consultas de la base de datos, las llamadas a la API o la representación de la página. Los servidores utilizados para este mecanismo se pueden llamar servidores Memcached.

¿Para qué se utiliza Memcached?

Memcached se utiliza para acelerar aplicaciones web dinámicas como tiendas de comercio electrónico, sitios web de registro / inicio de sesión, etc. al reducir la carga de la base de datos. Almacena el resultado procesado, por lo que cada vez que un visitante solicita la misma consulta nuevamente, Memcached puede responder a eso en lugar de procesar la consulta y responder. Al mantener el servidor menos ocupado, sus visitantes experimentarán un tiempo de carga más rápido y una mejor experiencia de usuario.

Hay una historia del mundo real interesante y divertida en GitHub, léala para comprender el caso de uso típico de Memcached.

¿Su alojamiento de WordPress actual tiene un rendimiento inferior?

Migra a Cloudways y maximiza el rendimiento de tu WordPress.

¡Lanzar ahora!

¿Cómo funciona Memcached?

Cada vez que un visitante / navegador solicita al servidor que requiere que la base de datos procese y responda, agrega carga al servidor. Memcached reduce esa carga almacenando objetos de datos en una memoria dinámica temporal. Guarda los datos en pares clave-valor y comprueba su memoria antes de enviar la solicitud del navegador a la base de datos. Si hay una memoria caché, responde a la solicitud sin involucrar a la base de datos para que la procese.

Como se mencionó anteriormente, Memcached es un sistema de almacenamiento en caché de objetos de memoria distribuida que consta de cuatro componentes principales:

  • Software de cliente: recibe una lista de servidores Memcached distribuidos disponibles.
  • Algoritmo de hash basado en el cliente: elige el servidor en función de los valores-clave.
  • Software de servidor: almacena datos (valores) y claves en una tabla hash interna.
  • Algoritmos del servidor: identifica cuándo eliminar los datos antiguos y reutilizar la memoria.

Los componentes anteriores permiten que Memcached almacene y recupere datos. Cada artículo consta de:

  • Llave
  • Tiempo de expiración
  • Datos brutos

Cuando se solicita un artículo, Memcached valida su tiempo de vencimiento para ver si el artículo sigue siendo válido antes de responder a la solicitud. Si no hay una caché, envía la solicitud a la base de datos para procesar y almacenar el resultado como un elemento.

Si un servidor se queda sin memoria, busca y reemplaza los elementos caducados. Si aún necesita alguna información, busca los ítems no solicitados para un período determinado. Con esto, Memcached mantiene la información solicitada más recientemente en la memoria dinámica.

En un Memcached de alto nivel funciona de la siguiente manera:

  1. Memcached verifica los datos solicitados si están almacenados en la caché.
  2. Dos posibles salidas:
    - Los datos se almacenan en caché: devuelve los datos solicitados desde Memcached sin interrumpir la base de datos.
    - Los datos no se almacenan en caché: Ejecute la consulta solicitada, procese y recupere los datos y guarde el resultado en la memoria.
  3. Siempre que hay una actualización de un elemento o un elemento caduca, Memcached actualiza su caché y se asegura de que el contenido nuevo se entregue al cliente solicitado.

¿Cómo utilizar Memcached?

Hay dos pasos involucrados en el uso de Memcached. Primero, debe estar instalado en su servidor de alojamiento y luego su aplicación debería ser compatible con Memcached.

El proceso de instalación y configuración se describe a continuación:

Instalar Memcached en el servidor

Memcached no requiere muchos recursos de CPU. Depende puramente de la RAM. Si tiene un servidor web de 8 GB de RAM, pero el sistema operativo y sus sitios web consumen solo 4 GB, entonces es una buena idea asignar el resto de la RAM a las instancias de Memcached para aumentar su capacidad de almacenamiento. Lea todos los requisitos técnicos aquí.

Memcached funciona en la mayoría de los servidores basados ​​en Linux, la instalación de Memcached está a solo dos comandos de Linux. Generalmente, debe instalar Memcached desde un paquete proporcionado por su sistema operativo (Debian, Ubuntu, etc.). El sistema operativo resolverá las dependencias por usted y se encargará de las actualizaciones de seguridad.

Para usuarios de Debian o Ubuntu:

Comando: apt-get install memcached

Para Redhat / Fedora:

Comando: yum install memcached

Para obtener más información, consulte la documentación de su sistema operativo respectivo. Vale la pena mencionar que Nginx, uno de los servidores proxy inversos más populares, viene empaquetado con el módulo Memcached que brinda la solución empaquetada Nginx Memcached más flexible.

IdeaBox - Estudio de caso

Lea cómo Cloudways ayudó a una agencia de WordPress a crear mejores productos.

¡Obtenga el estudio de caso ahora!

Gracias

Su libro electrónico está en camino a su bandeja de entrada.

Compruebe si Memcached se está ejecutando

Hay varias formas de probar si Memcached se está ejecutando. Uno de ellos está usando Telnet, inicie sesión en el terminal SSH de su servidor y escriba el siguiente comando:

 telnet localhost 11211

o

 telnet 127.0.0.1 11211

PD: El comando anterior se ejecutará si el servidor local es su servidor Memcached.

Si el comando anterior se ejecuta correctamente, obtendrá el siguiente resultado:

 Conectado a localhost.
El carácter de escape es '^]'.

De lo contrario, obtendrá un error de conexión .

Para verificar algunas estadísticas básicas, puede usar el siguiente comando: stats

Obtendrá algo como a continuación:

 ESTADO pid 313
STAT tiempo de actividad 2778636
Hora de STAT 1535727399
STAT versión 1.4.21
STAT libevent 2.0.21-estable
STAT tamaño_pointer 64
STAT rusage_user 47.119322
STAT rusage_system 48.765342
STAT curr_connections 1
STAT total_connections 151198
STAT estructuras_de_conexión 3
STAT reservado_fds 20
STAT cmd_get 46
STAT cmd_set 4
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 30
STAT get_misses 16
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 22942
STAT bytes_escrito 3433252
STAT limit_maxbytes 268435456
STAT accept_conns 1
STAT listen_disabled_num 0
STAT hilos 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 106
STAT curr_items 1
STAT total_items 4
STAT expired_unfetched 0
STAT evicted_unfetched 0
Desalojos STAT 0
STAT reclamado 0
STAT crawler_reclaimed 0
STAT lrutail_reflocked 0

Para comprobar los elementos, utilice: elementos de estadísticas

Resultado:

 Elementos STAT: 2: número 1
Elementos STAT: 2: 2486 años
Elementos STAT: 2: desalojado 0
Elementos STAT: 2: evicted_nonzero 0
Elementos STAT: 2: evicted_time 0
Elementos STAT: 2: outofmemory 0
Elementos STAT: 2: tailrepairs 0
Elementos STAT: 2: reclamado 0
Elementos STAT: 2: expired_unfetched 0
Elementos STAT: 2: evicted_unfetched 0
Elementos STAT: 2: crawler_reclaimed 0
Elementos STAT: 2: lrutail_reflocked 0

Para verificar las estadísticas actuales de la memoria, escriba: stats slabs

Resultado:

 ESTADÍSTICA 2: chunk_size 120
ESTADÍSTICA 2: fragmentos_por_página 8738
ESTADÍSTICA 2: total_páginas 1
ESTADÍSTICA 2: total_chunks 8738
ESTADÍSTICA 2: trozos_utilizados 1
ESTADÍSTICA 2: free_chunks 8737
ESTADÍSTICA 2: free_chunks_end 0
ESTADÍSTICA 2: mem_requested 106
ESTADÍSTICA 2: get_hits 30
ESTADÍSTICA 2: cmd_set 4
ESTADÍSTICA 2: delete_hits 0
ESTADÍSTICA 2: incr_hits 0
ESTADÍSTICA 2: decr_hits 0
ESTADÍSTICA 2: cas_hits 0
ESTADÍSTICA 2: cas_badval 0
ESTADÍSTICA 2: touch_hits 0
STAT active_slabs 1
STAT total_malloced 1048560

Para salir del tipo de conexión, salga y presione enter .

Hay una lista de algunos comandos útiles para ejecutar e inspeccionar servidores Memcached.

Tutorial de Memcached para otras plataformas:

  • Cómo configurar Memcached en la tienda Magento
  • Cómo configurar Memcached en PHP
  • Cómo configurar Memcached en Joomla
  • Cómo configurar Memcached con Yii 2
  • Cómo configurar PrestaShop con Memcached
  • Cómo configurar Memcache en su sitio Drupal 7

Memcached para usuarios de Cloudways

Los usuarios de Cloudways no tienen que preocuparse por todos los aspectos técnicos relacionados con WordPress Memcached. Todos los servidores lanzados en Cloudways Platform venían preinstalados y activados Memcached.

Vaya a su servidor respectivo → Administrar servicios y podrá ver que Memcached está preinstalado y activado de forma predeterminada.

WordPress con Memcached

¿No es cliente de Cloudways pero desea aprovechar Memcached? Obtenga una prueba GRATUITA sin proporcionar los datos de su tarjeta de crédito.

Complemento de WordPress Memcached

Hay muchos complementos de caché de WordPress disponibles en el mercado. La mayoría de ellos son compatibles con Memcached como W3TC, uno de los complementos de caché más utilizados que le permite configurar Memcached. Si es uno de los usuarios de W3TC, navegue a la pestaña Configuración general y seleccione Memcached en el menú desplegable, donde dice:

  • Caché de página
  • Minificar caché
  • Caché de la base de datos

W3TC WordPress Memcached

Guarde todas las configuraciones y no olvide purgar la caché una vez.

Pensamientos finales

Memcached se considera una de las formas de acelerar un sitio de WordPress si está configurado correctamente, ya que reduce la carga de la base de datos y mantiene el servidor menos ocupado, lo que se traduce en un mejor rendimiento y tiempo de carga de la página.