Cuando hablamos de acelerar WordPress, casi siempre terminamos escuchando las mismas recomendaciones: optimizar las imágenes, reducir plugins, utilizar una versión reciente de PHP, activar algún sistema de caché y, por supuesto, alojar la web en un servidor que tenga recursos suficientes.
Todo eso ayuda.
Pero existe otra tecnología que muchas veces pasa bastante más desapercibida y que, en determinados proyectos, puede ser especialmente interesante: Memcached.
Me gusta Memcached precisamente porque trabaja sin hacer ruido. No modifica el diseño de la web, no añade ninguna función espectacular al panel de WordPress y el visitante ni siquiera sabe que está ahí. Su trabajo consiste en algo mucho menos vistoso: intentar que determinadas operaciones que WordPress necesita realizar una y otra vez puedan resolverse más rápido.
Eso sí, conviene dejar algo claro desde el principio.
Memcached no es un botón mágico para acelerar WordPress.
En mi caso, nunca lo planteo de esa manera. Podemos tener Memcached perfectamente configurado y continuar con una web lenta si el verdadero problema está en otro sitio: imágenes enormes, plugins que consumen demasiados recursos, código PHP poco eficiente, llamadas externas lentas o una configuración del servidor que no está a la altura.
Por eso creo que la pregunta correcta no es solamente “¿cómo activo Memcached en WordPress?”.
Antes deberíamos preguntarnos:
¿Qué hace Memcached exactamente, qué problema resuelve y tiene sentido utilizarlo en mi WordPress?
Eso es lo que vamos a ver en esta guía.
¿Qué es Memcached y para qué sirve en WordPress?
Memcached es un sistema de almacenamiento temporal de datos en memoria RAM. Su objetivo es permitir que una aplicación pueda recuperar determinados datos rápidamente sin tener que repetir una y otra vez operaciones que resultan más costosas.
Llevado a WordPress, podemos entenderlo con un ejemplo sencillo.
Imaginemos que WordPress necesita cierta información para generar una página. Parte de esa información puede encontrarse en la base de datos. WordPress realiza la consulta, MySQL o MariaDB procesa la petición y devuelve el resultado.
Hasta aquí no hay nada extraño.
El problema aparece cuando WordPress necesita obtener repetidamente esa misma información.
Si determinados resultados pueden mantenerse temporalmente en memoria, la aplicación puede reutilizarlos en lugar de obligar a la base de datos a repetir siempre el mismo trabajo.
Ahí aparece Memcached.
Cómo funciona Memcached de forma sencilla
Simplificando bastante el proceso, podríamos imaginar algo parecido a esto:
WordPress → solicita un dato → consulta la base de datos → obtiene el resultado → lo almacena temporalmente en Memcached.
Cuando vuelve a necesitarlo:
WordPress → comprueba la caché → encuentra el dato → lo recupera desde memoria.
La idea de fondo es muy simple: evitar trabajo repetitivo cuando no es necesario repetirlo.
Eso no significa que todas las consultas de WordPress desaparezcan ni que Memcached almacene absolutamente todo. Tampoco quiere decir que la base de datos deje de ser necesaria.
Memcached es simplemente una capa de caché adicional.
Por qué acceder a datos desde RAM puede ahorrar trabajo
La memoria RAM está diseñada para ofrecer acceso rápido a los datos que se encuentran almacenados en ella.
Por eso, cuando WordPress puede reutilizar un objeto o resultado que ya está disponible en memoria, evita tener que generar o recuperar nuevamente esa información desde una fuente más lenta.
Lo importante aquí no es obsesionarse con milisegundos teóricos.
A mí me parece bastante más útil pensar en Memcached como una herramienta para reducir trabajo repetido.
Si una web tiene pocas operaciones dinámicas y apenas tráfico, esa reducción quizá no cambie demasiado la experiencia.
Si tenemos un WordPress con muchas peticiones, numerosos plugins, usuarios identificados o una cantidad importante de operaciones contra la base de datos, entonces el escenario cambia bastante.
WordPress ya tiene caché de objetos, ¿por qué necesitamos Memcached?
WordPress ya incorpora un sistema de caché de objetos.
El detalle importante es que, de forma predeterminada, los objetos almacenados en esa caché no permanecen necesariamente disponibles entre diferentes peticiones.
Una caché persistente permite conservar determinados objetos para reutilizarlos posteriormente.
Y ahí es donde puede entrar Memcached.
Cuando WordPress está correctamente preparado para utilizar una caché de objetos persistente, algunos datos calculados o recuperados anteriormente pueden continuar disponibles para futuras peticiones.
En otras palabras: WordPress ya conoce el concepto de caché de objetos; Memcached puede aportar la persistencia y el almacenamiento en memoria necesarios para aprovecharla entre diferentes peticiones.
¿Memcached realmente puede acelerar WordPress?
Sí, Memcached puede ayudar a acelerar WordPress.
Pero esta respuesta necesita bastantes matices.
El rendimiento de una web depende de muchas piezas diferentes, y Memcached solamente actúa sobre algunas de ellas.
Es un error pensar:
Mi WordPress está lento → instalo Memcached → problema resuelto.
En algunos sitios puede resultar útil. En otros, el cambio será pequeño. Y en determinados casos puede que el cuello de botella real no tenga absolutamente nada que ver con aquello que Memcached puede mejorar.
Qué operaciones puede evitar repetir
La utilidad principal de una caché de objetos está en poder reutilizar datos que la aplicación necesita repetidamente.
WordPress y sus plugins pueden realizar numerosas operaciones para construir una página, preparar configuraciones, obtener información y procesar determinadas peticiones.
Si parte de esos objetos puede conservarse temporalmente, WordPress no necesita reconstruir todo desde cero cada vez.
Cuanto más trabajo repetitivo exista, mayor sentido empieza a tener disponer de una buena estrategia de caché.
Por eso Memcached puede resultar particularmente interesante en proyectos dinámicos.
No debemos medir su utilidad simplemente por el número de páginas que tiene una web.
Una página con relativamente poco contenido puede ejecutar muchas operaciones internas. Y una web enorme puede tener buena parte de su contenido público servido mediante otros sistemas de caché.
Hay que mirar cómo funciona realmente el sitio.
Lo que Memcached no va a solucionar
Este es uno de los puntos en los que prefiero insistir.
Memcached no corrige automáticamente:
- imágenes de varios megabytes;
- archivos JavaScript innecesarios;
- hojas CSS enormes;
- llamadas a servicios externos que tardan demasiado;
- plugins que realizan procesos pesados;
- código PHP poco eficiente;
- consultas SQL mal planteadas;
- un servidor sin recursos suficientes;
- una mala configuración general de WordPress.
Si el navegador está tardando varios segundos en descargar una imagen gigantesca, almacenar objetos en RAM no va a reducir mágicamente el tamaño de esa imagen.
Si un plugin está haciendo algo especialmente costoso en cada petición, quizá tengamos que analizar ese plugin.
Y si PHP o la base de datos están mal configurados, añadir otra capa tecnológica tampoco debería ser nuestra primera reacción.
Por eso suelo ver Memcached como una pieza dentro de una estrategia de optimización, no como la estrategia completa.
¿Cuándo merece la pena utilizar Memcached en WordPress?
No todos los proyectos WordPress necesitan exactamente las mismas optimizaciones.
Una web corporativa sencilla con cinco o diez páginas, pocas visitas y contenido que cambia muy poco no se comporta igual que una tienda WooCommerce, una revista digital con miles de artículos o una plataforma con usuarios identificados realizando acciones continuamente.
Por eso la respuesta a “¿necesito Memcached?” debería empezar siempre con otra pregunta:
¿Qué tipo de WordPress tenemos delante?
Blogs y webs con mucho contenido o tráfico
Cuando aumenta el número de peticiones también aumenta la cantidad total de trabajo que el servidor tiene que realizar.
Si varias peticiones necesitan los mismos objetos o resultados, poder reutilizar información almacenada temporalmente puede reducir trabajo innecesario.
En una web con mucho tráfico esto empieza a resultar especialmente interesante porque una pequeña optimización repetida miles de veces deja de ser tan pequeña.
Eso no significa que cualquier blog grande necesite obligatoriamente Memcached. Puede existir caché de página, CDN y otras optimizaciones que reduzcan muchísimo el trabajo realizado por WordPress.
Lo importante es analizar el conjunto.
WooCommerce y sitios dinámicos
Personalmente, es en proyectos dinámicos donde encuentro más fácil entender el valor de la caché de objetos.
Una tienda WooCommerce tiene productos, categorías, atributos, precios, usuarios, sesiones, carritos y configuraciones que pueden participar en multitud de operaciones.
Además, no podemos tratar absolutamente todas las páginas de una tienda como si fueran contenido estático idéntico para cualquier visitante.
El carrito de una persona no puede convertirse alegremente en la página cacheada que recibe otra.
Por eso una estrategia de rendimiento para WooCommerce suele necesitar trabajar en diferentes niveles.
La caché de página puede continuar teniendo mucho sentido donde sea posible utilizarla, mientras que una caché persistente de objetos puede ayudar en otra parte del proceso.
Webs con muchos plugins o consultas repetitivas
El número de plugins por sí solo no determina si una web necesita Memcached.
Tener treinta plugins bien desarrollados puede ser menos problemático que tener cinco plugins que realizan operaciones muy pesadas.
Lo que debemos preguntarnos es qué trabajo está realizando WordPress.
Si comprobamos que existe una gran cantidad de operaciones repetidas relacionadas con objetos y base de datos, la caché persistente empieza a encajar mucho mejor.
Cuándo probablemente notarás poco beneficio
Una web pequeña, con poco tráfico, casi completamente estática y bien servida desde una caché de página podría no obtener una mejora espectacular.
Y no pasa nada.
Optimizar no consiste en activar todas las tecnologías disponibles.
Consiste en aplicar las que solucionan un problema real.
Esta es una idea que intento mantener siempre presente: más tecnología no significa automáticamente más rendimiento.
Caché de página y Memcached: no hacen lo mismo
Existe bastante confusión entre caché de página, caché de navegador, caché de objetos y otras formas de almacenamiento temporal.
En ocasiones incluso se habla de ellas como si fueran alternativas directas.
No siempre lo son.
Qué hace una caché de página
Una caché de página intenta evitar que WordPress tenga que construir completamente una página cada vez que un visitante la solicita.
En lugar de ejecutar todo el proceso de PHP, cargar WordPress, realizar consultas y generar el resultado final, el servidor puede entregar una versión previamente generada de esa página cuando las condiciones permiten hacerlo.
Para contenido público y relativamente estático puede ser tremendamente eficaz.
Qué hace una caché de objetos
Memcached trabaja en otro nivel.
No tenemos por qué estar almacenando la página HTML completa que termina viendo el usuario.
Estamos hablando de objetos y datos que WordPress puede necesitar durante su ejecución.
De esa manera, incluso cuando WordPress tiene que procesar una petición dinámicamente, parte del trabajo necesario puede encontrarse ya resuelto y almacenado temporalmente.
Esa es la diferencia fundamental.
La caché de página intenta evitar generar nuevamente la página completa.
La caché de objetos intenta evitar repetir determinadas operaciones internas.
Por qué pueden trabajar juntas
No suelo plantear Memcached y la caché de página como si hubiera que elegir una u otra.
Pueden complementarse.
Podemos utilizar caché de página en las zonas públicas que lo permitan y, al mismo tiempo, mantener una caché persistente de objetos para mejorar determinadas operaciones internas.
Cada capa está resolviendo un problema diferente.
Y esta forma de verlo evita uno de los errores habituales en optimización: activar tecnologías sin entender qué hace exactamente cada una.
Memcached vs Redis en WordPress
Cuando se habla de caché persistente de objetos en WordPress, tarde o temprano aparece otra tecnología: Redis.
La pregunta habitual es muy sencilla:
¿Es mejor Redis o Memcached?
Mi recomendación sería evitar una respuesta universal.
Ambas tecnologías pueden utilizarse como parte de una estrategia de caché persistente y ambas buscan evitar que la aplicación tenga que repetir determinados trabajos.
Para un usuario de WordPress, la decisión debería estar mucho más relacionada con la infraestructura disponible, la integración ofrecida por el hosting y la solución que realmente tengamos bien soportada.
Qué tienen en común
Desde la perspectiva que nos interesa aquí, ambas tecnologías pueden mantener información temporal en memoria y permitir que WordPress reutilice datos.
Es decir, las dos pueden participar en una estrategia para reducir operaciones repetidas.
Principales diferencias
Redis y Memcached no son exactamente el mismo sistema y existen diferencias técnicas entre ambos.
Pero en una guía centrada en acelerar WordPress no creo que tenga demasiado sentido convertir esta comparación en un tratado independiente.
Lo realmente importante para la mayoría de usuarios será:
- qué sistema proporciona su servidor;
- cuál está correctamente configurado;
- qué integración utiliza WordPress;
- qué solución puede mantener y supervisar su proveedor.
¿Cuál elegir para WordPress?
Si tu hosting ya dispone de Memcached preparado para trabajar con WordPress, no veo demasiado sentido en instalar otra tecnología únicamente porque alguien haya dicho que es “mejor”.
Y lo mismo puede aplicarse al caso contrario.
Antes que buscar la herramienta supuestamente perfecta, prefiero una solución bien configurada, integrada y mantenida.
Antes de activar Memcached, averigua qué está ralentizando WordPress
Esta es probablemente la recomendación que considero más importante de toda la guía.
Antes de activar cosas, prefiero medir.
Tenemos tendencia a tratar la optimización como una lista de comprobación:
“Instala esto.”
“Activa aquello.”
“Deshabilita lo otro.”
Y al final podemos terminar con cinco sistemas diferentes modificando el comportamiento de la caché sin tener demasiado claro cuál era el problema original.
No optimices WordPress a ciegas
Si una web tarda tres segundos en responder, primero quiero saber dónde se están perdiendo esos tres segundos.
Puede ser PHP.
Puede ser la base de datos.
Puede ser una llamada a una API externa.
Puede ser un plugin.
Puede ser falta de CPU.
Puede ser memoria insuficiente.
Puede ser el frontend.
Puede ser una combinación de varios factores.
Hasta que no tengamos una idea razonable de qué está ocurriendo, cualquier optimización corre el riesgo de convertirse simplemente en una apuesta.
Posibles cuellos de botella que conviene revisar
Antes de decidir que Memcached es la solución, revisaría al menos:
- tiempo de ejecución de PHP;
- comportamiento de la base de datos;
- número y tipo de consultas;
- plugins especialmente pesados;
- peticiones hacia servicios externos;
- recursos disponibles en el servidor;
- caché de página;
- tamaño de imágenes;
- scripts y estilos cargados;
- comportamiento del tema;
- diferencias entre usuarios identificados y visitantes anónimos.
No significa que tengamos que convertirnos en administradores de sistemas para mantener una web.
Significa simplemente que debemos intentar relacionar cada solución con un problema concreto.
Cuándo la caché de objetos sí ataca el problema
Si después de analizar la web observamos mucho trabajo repetitivo relacionado con consultas, objetos o datos que podrían reutilizarse entre peticiones, entonces Memcached empieza a tener bastante más sentido.
Eso es optimizar con criterio.
Qué necesitas para usar Memcached en WordPress
Otro error habitual consiste en pensar que basta con instalar un plugin llamado “Memcached” dentro de WordPress.
No funciona exactamente así.
Memcached necesita existir primero a nivel de infraestructura.
Un servidor o hosting compatible con Memcached
El servicio tiene que estar disponible en el servidor.
Si utilizas hosting administrado, puede que el proveedor ya lo tenga preparado y solamente necesites activar la integración correspondiente.
Si administras tu propio servidor, tendrás que encargarte de instalar y configurar los componentes necesarios.
Por eso el hosting tiene bastante más importancia en esta historia de lo que parece.
Memcached funcionando a nivel de servidor
El servicio tiene que estar activo y ser accesible desde el entorno donde se ejecuta WordPress.
Simplemente ver una opción llamada Memcached en un panel no debería ser nuestra única comprobación.
Necesitamos saber que realmente existe un servicio preparado para recibir las peticiones.
PHP tiene que poder comunicarse con Memcached
WordPress se ejecuta sobre PHP.
Por tanto, también necesitamos que el entorno PHP pueda trabajar con el servicio que estamos utilizando.
Aquí la configuración exacta dependerá del servidor y del proveedor.
Una caché de objetos persistente en WordPress
Y llegamos al paso que suele generar más confusión:
tener Memcached encendido en el servidor no significa automáticamente que WordPress lo esté utilizando.
WordPress necesita una implementación de caché persistente capaz de comunicarse con Memcached.
Un elemento habitual en este proceso es el archivo:
object-cache.php
Este archivo puede funcionar como drop-in y sustituir el comportamiento predeterminado de la caché de objetos de WordPress.
Lo importante no es memorizar el nombre del archivo.
Lo importante es entender la arquitectura:
servidor preparado + PHP preparado + WordPress preparado para utilizar esa caché.
Si falta una de esas piezas, podemos tener Memcached instalado sin estar obteniendo el resultado que esperamos.
Cómo configurar Memcached en WordPress
La configuración concreta depende mucho del hosting, del sistema operativo, de la versión de PHP y de si administramos nosotros mismos el servidor.
Por eso prefiero explicar el proceso de una manera que sirva para entender qué debemos conseguir, en lugar de publicar una serie de comandos como si fueran universales.
Paso 1. Comprueba que Memcached está disponible en el servidor
Antes de tocar WordPress, tenemos que saber si el servicio existe.
Si utilizas hosting administrado, consulta el panel o pregunta al soporte.
Si gestionas tu propio servidor, necesitarás comprobar que el servicio está instalado y funcionando.
Paso 2. Verifica que PHP puede comunicarse con Memcached
No basta con tener un proceso ejecutándose.
El entorno PHP desde el que funciona WordPress tiene que disponer de la integración necesaria para utilizarlo.
En un hosting gestionado esta parte puede estar resuelta por el proveedor.
Paso 3. Configura WordPress para utilizar caché persistente
Ahora necesitamos que WordPress utilice realmente Memcached como almacenamiento para determinados objetos.
Esto puede realizarse mediante una solución compatible que integre la caché persistente de objetos con WordPress.
Paso 4. Revisa la integración mediante object-cache.php
El drop-in object-cache.php es una pieza importante porque permite modificar el comportamiento de la caché de objetos de WordPress.
No recomendaría copiar un archivo encontrado al azar en Internet.
La implementación debe corresponderse con la solución que estés utilizando y con la configuración del servidor.
Paso 5. Limpia la caché y comprueba el funcionamiento
Después de configurar un sistema de caché siempre conviene comprobar el resultado.
No doy por hecho que algo funciona simplemente porque no ha aparecido ningún error.
Hay que verificarlo.
Y ese es precisamente el siguiente punto.
Cómo saber si WordPress está utilizando realmente Memcached
Instalar Memcached y comprobar Memcached son dos cosas diferentes.
Esta distinción me parece especialmente importante porque podemos terminar pensando que hemos optimizado WordPress cuando, en realidad, nuestra instalación ni siquiera está utilizando la caché persistente.
Tener Memcached instalado no significa que WordPress lo use
Este es el concepto principal.
Podemos tener:
- Memcached instalado;
- Memcached ejecutándose;
- recursos reservados para Memcached;
y aun así no disponer de una integración correcta con WordPress.
Por eso hay que comprobar las dos partes: servidor y aplicación.
Qué revisar en WordPress
Quiero comprobar que WordPress está cargando correctamente el sistema de caché persistente.
Si utilizamos una solución basada en un drop-in, también revisaría que object-cache.php esté presente donde corresponde y pertenezca realmente a la implementación que hemos decidido utilizar.
También podemos observar el estado general de WordPress y las herramientas de diagnóstico disponibles para comprobar si la caché persistente está activa.
Qué comprobar en el servidor
A nivel de servidor interesa saber si Memcached:
- está funcionando;
- está recibiendo peticiones;
- está utilizando memoria;
- está almacenando objetos;
- devuelve datos desde caché.
No siempre necesitaremos entrar en estadísticas avanzadas, pero comprobar actividad es bastante mejor que asumirla.
Cómo interpretar hits y misses
Dos conceptos habituales son los hits y los misses.
Un hit ocurre cuando la aplicación solicita un elemento y este se encuentra en la caché.
Un miss ocurre cuando el elemento no está disponible y hay que recuperarlo desde su origen.
Tener misses no significa automáticamente que exista un problema.
Una caché nunca tiene por qué contener todo.
Los datos caducan, se eliminan o simplemente todavía no han sido solicitados.
Lo que nos interesa es comprobar que existe actividad y que el sistema realmente está cumpliendo la función para la que lo hemos configurado.
Qué ocurre cuando los datos desaparecen de Memcached
Otra confusión habitual consiste en pensar que Memcached actúa como una especie de base de datos ultrarrápida.
No es así.
Memcached no es almacenamiento permanente
Los datos almacenados en Memcached son temporales.
Los objetos pueden caducar o pueden desaparecer cuando el sistema necesita liberar memoria.
Eso no es un fallo.
Forma parte de cómo funciona una caché.
MySQL o MariaDB siguen siendo la fuente original
La información importante continúa almacenada en WordPress y en su base de datos.
Memcached mantiene copias temporales de determinados datos para permitir una recuperación más rápida.
Por eso nunca deberíamos diseñar una configuración en la que perder la caché signifique perder información importante.
La aplicación debe poder reconstruirla.
Expiración y eliminación de objetos
Supongamos que WordPress solicita un dato y este ya no existe en Memcached.
¿Qué sucede?
Simplemente tiene que volver a obtenerlo desde su fuente original.
Después puede almacenarlo otra vez en la caché y reutilizarlo en siguientes peticiones.
Por eso no me preocupa que una caché pueda vaciarse.
Lo preocupante sería que estuviéramos tratando esa caché como almacenamiento permanente.
Memcached acelera el acceso a ciertos datos; no sustituye la base de datos.
El hosting también determina cuánto puedes optimizar WordPress
Cuando hablamos de velocidad muchas veces concentramos toda la atención en el panel de administración de WordPress.
Pero WordPress no funciona en el vacío.
PHP se ejecuta en un servidor.
MySQL o MariaDB están en un servidor.
La memoria está en un servidor.
Los archivos están almacenados en un servidor.
Y Memcached también necesita infraestructura a nivel de servidor.
Por eso prefiero empezar la optimización por los cimientos.
Memcached necesita infraestructura a nivel de servidor
Si el proveedor de hosting no ofrece Memcached y tú no controlas el servidor, difícilmente podrás solucionarlo instalando un plugin.
Este es uno de los motivos por los que considero que elegir hosting también forma parte de la optimización.
PHP, almacenamiento y base de datos también importan
No tendría demasiado sentido presumir de tener Memcached mientras mantenemos una configuración deficiente en todo lo demás.
La velocidad final depende de muchas piezas:
- PHP;
- memoria;
- almacenamiento;
- base de datos;
- configuración del servidor;
- caché;
- WordPress;
- plugins;
- tema;
- desarrollo.
Cuando varias de ellas están bien resueltas, las mejoras empiezan a sumar.
Cómo lo planteamos en HostingTG
Precisamente por eso en nuestros servidores de HostingTG disponemos de Memcached.
Nuestro planteamiento con el Hosting WordPress no consiste solamente en dar espacio para instalar el CMS y dejar toda la optimización en manos de un plugin.
Trabajamos con infraestructura que incluye almacenamiento SSD NVMe, diferentes versiones de PHP y herramientas pensadas para alojar WordPress, junto con copias de seguridad diarias, cPanel, SSL, medidas de seguridad y migración gratuita.
Y para mí hay otro punto importante: el soporte.
Muchas veces un problema de rendimiento no se resuelve pulsando un botón.
Hay que entender qué está ocurriendo.
Por eso contar con soporte especializado en WordPress puede terminar siendo tan importante como disponer de una determinada tecnología en el servidor.
Errores habituales al utilizar Memcached en WordPress
Memcached no es especialmente complicado de entender cuando tenemos claro para qué sirve.
Los problemas suelen comenzar cuando esperamos de él algo que nunca estuvo diseñado para hacer.
Pensar que instalarlo es suficiente
El primer error ya lo hemos comentado.
Memcached puede estar instalado en el servidor sin que WordPress lo esté utilizando.
Hay que completar y verificar la integración.
Activar varias soluciones de caché sin entender qué hace cada una
Más caché no significa necesariamente mejor caché.
Podemos terminar con diferentes plugins y servicios intentando controlar la misma parte del proceso.
Antes de activar otro sistema, quiero saber:
¿qué está almacenando?, ¿dónde?, ¿durante cuánto tiempo? y ¿qué problema intenta solucionar?
Esperar que arregle problemas de frontend
Si el principal problema son imágenes enormes, JavaScript, CSS o recursos externos, Memcached no es la herramienta principal para resolverlos.
No podemos pedir a una caché de objetos que optimice aquello que el navegador está descargando.
No medir antes y después
Si activamos Memcached y no sabemos cómo se comportaba la web antes, ¿cómo vamos a saber si realmente ha servido de algo?
No siempre tendremos que preparar un laboratorio de rendimiento.
Pero sí deberíamos guardar alguna referencia del comportamiento anterior y comprobar después si la situación ha mejorado.
Tratar Memcached como si fuera una base de datos
Probablemente sea el error conceptual más importante.
Memcached almacena datos temporales.
Nuestra información original tiene que seguir existiendo en su fuente correspondiente.
Si mañana reiniciamos la caché, WordPress debería poder continuar funcionando.
Entonces, ¿merece la pena Memcached para acelerar WordPress?
Sí, Memcached puede merecer mucho la pena para acelerar WordPress, especialmente cuando tenemos un sitio dinámico que realiza numerosas operaciones repetitivas y puede beneficiarse de una caché persistente de objetos.
Pero no lo activaría simplemente porque está disponible.
Primero intentaría entender el problema.
Después mediría.
Y solamente entonces decidiría si Memcached está actuando sobre uno de los cuellos de botella reales.
Una pequeña web corporativa y un WooCommerce con muchos usuarios no tienen las mismas necesidades.
Una página completamente servida desde caché tampoco se comporta igual que una zona privada donde cada petición tiene que procesarse dinámicamente.
La optimización siempre necesita contexto.
En mi caso, por eso prefiero pensar en Memcached como una pieza de un conjunto mucho más amplio.
Una buena configuración de PHP es otra pieza.
Un almacenamiento rápido es otra.
Una base de datos bien configurada también.
Después tenemos la caché de página, la caché de objetos, WordPress, los plugins, el tema, las imágenes y el código que utiliza nuestra web.
El visitante no sabe nada de todo esto.
No sabe si utilizamos Memcached.
No sabe qué versión de PHP estamos ejecutando.
No sabe si tenemos SSD NVMe.
No sabe cuántas operaciones hemos evitado.
Simplemente pulsa un enlace y espera que la página responda rápido.
Y eso es, al final, lo que importa.
Porque acelerar WordPress rara vez depende de instalar una única herramienta.
Normalmente depende de algo bastante menos espectacular:
hacer bien muchas pequeñas cosas al mismo tiempo.
Dudas de la comunidad
¿Memcached hace que WordPress cargue más rápido?
Puede hacerlo cuando WordPress se beneficia de reutilizar objetos y datos almacenados temporalmente en memoria. El resultado dependerá del tipo de web y de dónde se encuentre realmente el cuello de botella.
Si el principal problema de rendimiento está en imágenes, scripts externos o algún otro elemento que Memcached no pueda mejorar, el efecto será mucho menor.
¿Memcached sirve para WooCommerce?
Puede resultar especialmente interesante en WooCommerce porque una tienda tiene muchas partes dinámicas: usuarios, carritos, sesiones, productos, categorías, atributos, precios y configuraciones.
Eso no significa que debamos activarlo sin analizar el sitio, pero WooCommerce es precisamente uno de los escenarios donde una caché persistente de objetos puede tener bastante sentido.
¿Memcached sustituye un plugin de caché?
No necesariamente.
Depende de qué tipo de caché implemente el plugin.
Memcached trabaja principalmente como almacenamiento temporal para objetos y datos. Una solución de caché de página puede tener una función diferente.
Ambas pueden complementarse.
¿Puedo utilizar Memcached y caché de página al mismo tiempo?
Sí.
De hecho, tiene bastante sentido cuando cada sistema está correctamente configurado.
La caché de página puede encargarse de contenido que no necesita ser generado nuevamente en cada visita, mientras que Memcached puede ayudar con determinadas operaciones internas cuando WordPress sí tiene que ejecutarse.
¿Es mejor Redis o Memcached para WordPress?
No considero que exista una respuesta universal.
Ambas opciones pueden utilizarse dentro de una estrategia de caché persistente.
Para muchos usuarios será más importante utilizar la tecnología que su hosting tenga bien integrada, configurada y soportada.
¿Necesito un VPS para utilizar Memcached?
Lo que necesitas es un entorno de hosting que ofrezca el servicio y permita que WordPress lo utilice.
Puedes encontrar Memcached en servicios administrados sin necesidad de gestionar personalmente un VPS.
Lo importante es comprobar qué ofrece tu proveedor.
¿Cómo sé si mi hosting tiene Memcached?
Puedes revisar el panel de control o consultar directamente con soporte.
Además de preguntar si el servicio existe, conviene confirmar cómo se integra con WordPress y qué pasos necesitas realizar para utilizar una caché persistente de objetos.
¿Qué es object-cache.php en WordPress?
Es un archivo que puede funcionar como drop-in para modificar la forma en la que WordPress gestiona su caché de objetos.
Cuando utilizamos una solución de caché persistente, este archivo puede formar parte de la integración entre WordPress y el sistema externo de caché.
¿Qué ocurre si Memcached se queda sin memoria?
Los elementos almacenados en caché son temporales y pueden ser eliminados cuando sea necesario liberar espacio.
La información original no debería depender de Memcached.
Si un dato deja de estar disponible en la caché, WordPress debe poder recuperarlo nuevamente desde su fuente original y almacenarlo otra vez.
¿Memcached sustituye MySQL o MariaDB?
No.
MySQL o MariaDB siguen almacenando los datos originales de WordPress.
Memcached funciona como una capa temporal destinada a facilitar la recuperación de determinados datos y reducir trabajo repetitivo.
La base de datos y Memcached tienen funciones diferentes.
Opinión Personal
Memcached es una de esas tecnologías que merece más atención de la que suele recibir cuando hablamos de optimización de WordPress.
No porque vaya a transformar por sí sola una web lenta en una web ultrarrápida, sino porque puede ayudar a reducir trabajo repetitivo y mejorar la eficiencia cuando realmente existe un cuello de botella relacionado con la caché de objetos y la base de datos.
En mi caso, prefiero verlo como una pieza más dentro de una estrategia completa de rendimiento. De poco sirve tener Memcached funcionando perfectamente si después cargamos imágenes enormes, utilizamos plugins poco optimizados o tenemos una mala configuración del servidor.
Por eso mi recomendación es sencilla: medir primero y optimizar después.
Cuando se utiliza en el escenario adecuado, especialmente en webs dinámicas, WooCommerce o proyectos con muchas consultas, Memcached puede aportar bastante valor. Pero lo importante es entender qué problema estamos intentando resolver antes de activarlo.
Ahora me interesa conocer tu experiencia.
¿Has utilizado Memcached en WordPress? ¿Notaste alguna mejora o te encontraste con algún problema al configurarlo? Déjame tu experiencia en los comentarios.





