Ir al contenido
Hablemos

Casos y laboratorio

Benchmark de caché fría y caliente: cómo no mezclar resultados

Publicado el 

En esta página
  1. Respuesta breve
  2. Puntos clave
  3. Definir las capas
  4. Preparar rutas
  5. Pasada fría
  6. Pasada caliente
  7. Validar contenido
  8. Comparaciones que sí son válidas
  9. Informe
  10. En cuatro láminas
  11. Errores frecuentes
  12. Preguntas habituales
  13. Próximo paso
  14. Fuentes

Respuesta breve

Un benchmark de caché en WordPress solo sirve si cada serie de medidas responde a una única pregunta y declara desde qué estado parte. La pasada fría mide el coste de generar la respuesta cuando no hay nada almacenado; la pasada caliente mide el coste de servirla ya construida. Son dos números que describen escenarios distintos, y mezclarlos en una media produce una cifra que no representa ninguna situación real. El protocolo consiste en inventariar las capas de caché que existen, fijar las rutas, purgar solo el entorno de prueba, ejecutar varias pasadas de cada tipo con evidencia de qué capa respondió y conservar todas las muestras, incluidas las malas.

Puntos clave

  • Fría y caliente son dos series separadas; la media de ambas no describe nada.
  • Antes de medir hay que saber qué capas de caché existen y cómo se distingue cuál respondió.
  • Una respuesta rápida con contenido antiguo es un fallo, no un buen resultado.
  • Varias pasadas y todas las muestras: la mediana sin dispersión oculta las respuestas lentas.
  • Dos candidatos solo son comparables si comparten ruta, contenido, cliente, red, región y política de caché.
  • El tiempo de servidor y la carga visual responden a preguntas diferentes y no se mezclan en la misma tabla.

Dos series, dos preguntas

Pasada fría

  • Cuánto cuesta generar la respuesta sin nada almacenado
  • Se registra qué capa respondió
  • Varias pasadas: mediana y peor valor
  • Todas las muestras, también las anómalas

Pasada caliente

  • Cuánto cuesta servirla ya construida
  • El contenido servido se comprueba: rápido y antiguo es un fallo
  • Misma ruta, cliente, red, región y política de caché
  • Tiempo de servidor y carga visual, en tablas distintas
La media de ambas no describe ningún escenario real: nadie visita una web en un estado intermedio.

Definir las capas

Inventaría caché de navegador, caché de página, caché de objetos, OPcache, proxy inverso y CDN. Para cada una registra proveedor, clave de caché, tiempo de vida, mecanismo de purga y qué cabecera o evidencia permite saber que ha respondido. No asumas que un HIT significa la misma capa en todos los entornos: distintos productos usan la misma palabra para cosas distintas.

Las capas de caché entre el visitante y el origen: qué evita cada una y cómo reconocer cuál respondió.
CapaQué evitaCómo se reconoce
navegadorvolver a descargar recursos ya obtenidoscabeceras de control de caché y respuestas 304
CDN o proxyllegar al origencabecera propia del proveedor con estado de acierto
páginaejecutar PHP y montar el HTMLcabecera del plugin o del servidor, o archivo estático servido
objetosrepetir consultas a la base de datosnúmero de consultas por petición con instrumentación activa
OPcacherecompilar el código PHPestado del propio OPcache en el servidor

Este inventario es la parte del trabajo que más se salta y la que más resultados invalida. Sin él no se puede afirmar qué capa se está midiendo, y cualquier mejora observada podría venir de otra que nadie tocó.

Preparar rutas

Selecciona un conjunto pequeño y representativo: portada, una landing comercial, un artículo, una página con funcionalidad dinámica y una ruta no cacheable si existe. Cinco rutas bien elegidas dicen más que treinta escogidas al azar, porque cada una representa una plantilla y un patrón de consulta distintos.

Usa contenido estable durante toda la prueba y evita URLs con parámetros que cambien la clave de caché: un parámetro de seguimiento puede convertir cada petición en un fallo de caché y hacer que la pasada caliente nunca lo sea. Documenta si hay autenticación, cookies o consentimiento de por medio, porque muchas configuraciones desactivan la caché de página para usuarios con sesión y esa diferencia explica resultados aparentemente contradictorios.

Pasada fría

Purga únicamente el entorno de prueba, confirma que el estado es el esperado y ejecuta una solicitud controlada. Registra resolución DNS, establecimiento de conexión, negociación TLS, tiempo hasta el primer byte, transferencia, código de respuesta y, si hay instrumentación disponible, consultas a base de datos y memoria. Nunca purgues producción sin autorización explícita: una purga completa en hora punta traslada toda la carga al origen de golpe.

La pasada fría es la más difícil de repetir bien, porque después de la primera petición el sistema ya está caliente. Cada medición fría exige purgar de nuevo, y purgar de nuevo tiene coste. Por eso conviene decidir de antemano cuántas repeticiones se van a hacer y aceptar que serán menos que en la serie caliente. Anota esa asimetría en el informe en lugar de disimularla.

Pasada caliente

Repite exactamente la misma URL en las mismas condiciones y confirma con la cabecera o con la evidencia acordada que la capa esperada ha respondido. Ejecuta varias veces y conserva la distribución completa. Un valor anómalo se mantiene y se explica; no se elimina por conveniencia, porque muchas veces es la única pista de un problema intermitente.

Elige también la herramienta con criterio y no la cambies a mitad. Una petición desde línea de comandos mide la respuesta del servidor sin ejecutar nada del navegador; una herramienta de auditoría en navegador mide además el trabajo de la página. Las dos son legítimas y responden a preguntas distintas, así que sus números no se comparan entre sí ni se anotan en la misma columna. Sea cual sea, deja escrito el comando exacto con sus opciones: la mayoría de las discrepancias entre dos mediciones del mismo sitio se explican por una opción distinta y no por un cambio real.

Descarta la primera petición posterior a la purga como calentamiento y déjalo escrito. Y comprueba que la serie caliente lo es de verdad: si el tiempo de vida configurado es corto y la prueba se alarga, algunas peticiones caerán en fría sin avisar y la distribución mostrará dos grupos separados. Esa bimodalidad es información, no ruido.

Validar contenido

Compara un hash del HTML o un conjunto de elementos clave para detectar una caché obsoleta. Una respuesta muy rápida que devuelve la versión anterior de la página no es un buen resultado: es un fallo de invalidación que el benchmark acaba de premiar.

Después de cada despliegue, la lectura debe confirmar tres cosas por separado: que el origen sirve la versión nueva, que la caché pública ya la ha recogido y que la configuración persiste tras el reinicio del servicio. Son tres comprobaciones distintas y la primera pasa con frecuencia mientras las otras dos fallan en silencio durante horas.

Una respuesta muy rápida que devuelve la versión anterior de la página no es un buen resultado: es un fallo de invalidación que el benchmark acaba de premiar.

Comparaciones que sí son válidas

Dos candidatos son comparables solo cuando comparten ruta, contenido, cliente, red, región y política de caché. Si una variable cambia, se anota y el resultado pasa a ser otra serie, no una fila más de la misma tabla. El orden de ejecución también importa: alternar los candidatos reduce el riesgo de que una mejora de la red o una bajada de carga del sistema favorezca siempre al que se midió después.

Hay comparaciones que no son válidas por mucho que se repitan. Un entorno local contra un servidor compartido no mide lo mismo, y una configuración con LiteSpeed no equivale a otra pila aunque los números salgan parecidos. Una prueba desde una conexión doméstica no compara servidores, compara rutas de red. Estas limitaciones no invalidan la medición: la acotan, y por eso deben figurar en el informe en lugar de omitirse.

Informe

El informe incluye versión del software, fecha, ubicación desde la que se mide, herramienta y comandos exactos, rutas probadas, número de pasadas, mediana, peor valor y limitaciones conocidas. Con esos campos otra persona puede repetir la prueba; sin ellos, el resultado es una anécdota fechada.

Conserva todas las muestras, no solo la mejor: es la misma disciplina que hace creíble auditar la propia web conservando los defectos. Una mediana sin dispersión puede esconder respuestas muy lentas que son precisamente las que sufre una parte de las visitas. Y no mezcles tiempo de servidor con carga visual: el tiempo hasta el primer byte es una métrica de diagnóstico, no una de las Core Web Vitals, cuyos umbrales de referencia en campo son LCP de 2,5 segundos, INP de 200 milisegundos y CLS de 0,1 en el percentil 75. Un servidor rápido con una plantilla pesada puede seguir fallando la experiencia; el método de medición de Core Web Vitals separa lo que corresponde a cada plano, y el servicio de SEO técnico integra el resultado con el resto del diagnóstico de rendimiento.

En cuatro láminas

Dos fraguas iguales, una apagada y otra al rojo, con un reloj de arena de bronce entre ambas
Alegoría de la caché fría y caliente
Matriz 2×2: qué mide la pasada fría y la caliente, y qué invalida cada una.
Fría y caliente son dos series separadas; la media de ambas no describe nada.

Fría y caliente. Columnas: Qué mide, Qué invalida el resultado. Pasada fría: Qué mide → Cuánto cuesta generar la respuesta; Qué invalida el resultado → Que el sistema ya esté caliente por la petición anterior. Pasada caliente: Qué mide → Cuánto cuesta servirla ya construida; Qué invalida el resultado → Una respuesta rápida con contenido antiguo

Comando curl que imprime el tiempo hasta el primer byte y el código, con una pasada fría y tres calientes.
Varias pasadas y todas las muestras: la mediana sin dispersión oculta las respuestas lentas. Ejemplo.

shell: $ curl -s -o /dev/null \ / -w "%{time_starttransfer} %{http_code}\n" URL / 0.412 200 # fría: primera petición / 0.038 200 # caliente / 0.041 200 # caliente / 0.039 200 # caliente / / # series separadas; se apunta qué capa respondió

Cifra 0: ninguna muestra descartada por conveniencia.
Conservar todas las muestras, no solo la mejor: la misma disciplina que hace creíble auditar la propia web.

0 muestras descartadas. Un valor anómalo se mantiene y se explica: muchas veces es la única pista de un problema intermitente.

Errores frecuentes

  • Promediar pasadas frías y calientes en una sola cifra que no describe ningún escenario real.
  • Medir una vez cada candidato y decidir con esa comparación.
  • Purgar producción para hacer una prueba y trasladar toda la carga al origen sin avisar.
  • Interpretar una respuesta rápida como éxito sin comprobar que el contenido servido es el actual.
  • Eliminar el valor anómalo porque «estropea la media».
  • Comparar el entorno local con producción y presentar la diferencia como mejora del código.
  • No registrar qué capa respondió, con lo que la mejora no se puede atribuir a nada.

Preguntas habituales

¿Puedo dar una media de las pasadas frías y calientes?

Esa media no describe ningún escenario real: nadie visita la web en un estado intermedio. Son dos series separadas que responden a preguntas distintas —cuánto cuesta generar la respuesta y cuánto cuesta servirla ya construida— y se presentan por separado, cada una con su dispersión.

Una respuesta muy rápida, ¿es siempre buena señal?

No si el contenido servido es antiguo. Una caché que devuelve en milisegundos una versión caducada es un fallo, no un buen resultado, y en un benchmark aparece como la mejor cifra de la tabla. Por eso cada medición comprueba también qué se sirvió, no solo cuánto tardó.

¿Puedo purgar producción para hacer la prueba?

Se puede, pero traslada toda la carga al origen de golpe y eso tiene consecuencias para quien esté navegando en ese momento. Si se hace, se avisa y se elige la franja; si no, se mide sobre una ruta acotada en lugar de vaciarlo todo.

¿Qué hago con una pasada anómala?

Mirarla antes de tocarla. Eliminarla porque «estropea la media» borra justo la información que explica la dispersión: una caché fría no prevista, un vecino ruidoso, una purga en curso. Se registran todas las muestras y se dice qué capa respondió en cada una; sin eso, ninguna mejora se puede atribuir.

Próximo paso

Empieza por el inventario de capas: proveedor, clave, tiempo de vida, purga y evidencia observable de cada una. Es la única parte del protocolo que no se puede improvisar durante la medición, y suele revelar por sí sola configuraciones solapadas que explican comportamientos raros sin necesidad de ningún benchmark.

Con el inventario cerrado, define las rutas, escribe el comando exacto que vas a ejecutar y haz una prueba de ensayo completa antes de recoger datos buenos. Esa pasada en falso sirve para comprobar que las cabeceras identifican la capa correcta y que la purga hace lo que dice hacer, que son los dos supuestos que más veces fallan.

Fuentes

Servicio relacionado

Si esto es lo que te está pasando, auditoría seo es el trabajo que lo resuelve. Diagnóstico primero, prioridades después.

Añadir Seonidas como fuente preferida en Google

Escrito por

Jesús Iturbide

Consultor SEO técnico · SEONIDAS

Diagnóstico, priorización e implementación SEO en WordPress y PrestaShop. Servicio prestado íntegramente en línea desde Villava, Navarra.

Hablemos

¿Tu web tiene un problema de rastreo, indexación o rendimiento que nadie te explica? Cuéntamelo: te respondo en 24 horas laborables con una primera lectura del caso.

Abrir consulta