Rebobinado de configuración de NGINX: Serverion recupera el arte perdido del ajuste de caché de proxy
¿Quieres sitios web más rápidos y cargas de servidor más bajas? El almacenamiento en caché proxy de NGINX es la solución. Al almacenar el contenido solicitado con frecuencia, acelera la entrega y reduce la carga en sus servidores de origen. Servion comparte consejos prácticos para optimizar la configuración de su caché para un mejor rendimiento y confiabilidad.
Conclusiones clave:
- Servir contenido obsoleto:Utilice respuestas almacenadas en caché durante el tiempo de inactividad del servidor con
uso de caché proxy obsoleto. - Actualizaciones de fondo:Actualizar las entradas de caché sin interrumpir a los usuarios que utilizan
actualización de fondo de caché proxy. - Prevenir sobrecargas:Evita saturar tu servidor de origen con
bloqueo de caché de proxy.
Ejemplo de configuración:
proxy_cache_path /var/cache/nginx niveles=1:2 zona_claves=mi_caché:10m tamaño_máximo=10g inactivo=60m ruta_temprana_uso=desactivado; proxy_cache mi_caché; proxy_cache_use_stale actualizando; actualización_en_segundo_plano_de_proxy_cache activada; bloqueo_de_caché_proxy activado; Estas configuraciones garantizan respuestas rápidas, un uso eficiente de los recursos y una entrega de contenido confiable. Ya sea que esté ejecutando un VPS pequeño o un servidor de alto tráfico, estas técnicas pueden ayudarlo a aprovechar al máximo el almacenamiento en caché de proxy NGINX.
NGINX: Almacenamiento en caché de contenido con proxy inverso (superrápido)

Fundamentos del almacenamiento en caché proxy de NGINX
Las técnicas de optimización de caché de Serverion se basan en los principios básicos del almacenamiento en caché proxy de NGINX, que consisten en almacenar y servir copias del contenido original. El sistema utiliza tres componentes principales: la ruta de caché, una zona de memoria compartida y un gestor de caché que elimina los archivos caducados o menos utilizados recientemente (LRU) cuando la caché alcanza su límite.
Operación de caché proxy de NGINX
Cuando NGINX procesa una solicitud, primero verifica su zona de memoria compartida para ver si el contenido solicitado ya está en caché. Esta búsqueda en memoria permite determinar rápidamente si se acierta o no la caché. Como referencia, una zona de claves de 1 MB puede almacenar aproximadamente 8000 claves de caché[1].
Así es como funciona el proceso de almacenamiento en caché:
- NGINX procesa la solicitud para crear una clave de caché única.
- Comprueba la zona de memoria compartida para esa clave.
- Si se encuentra la clave (acceso a caché), el contenido se sirve directamente desde la caché.
- Si no se encuentra la clave (error de caché), el contenido se obtiene del servidor de origen y se almacena en la caché para uso futuro.
Serverion optimiza el rendimiento al garantizar búsquedas de claves eficientes y organizar el almacenamiento de caché mediante jerarquías de directorios.
Elementos principales de la caché
| Directiva | Propósito | Impacto |
|---|---|---|
ruta de caché proxy | Especifica la ubicación de almacenamiento de caché | Determina dónde y cómo se almacena en caché el contenido |
caché proxy | Activa el almacenamiento en caché para solicitudes específicas | Habilita el almacenamiento en caché dentro de un bloque de ubicación |
zona de teclas | Asigna memoria compartida para claves de caché | Permite búsquedas rápidas en memoria |
inactivo | Define cuánto tiempo permanecen en caché los elementos no utilizados | Controla la frescura de la caché y el tiempo de desalojo |
Para maximizar el rendimiento, utilice un sistema de dos niveles. niveles jerarquía para evitar ralentizaciones del sistema de archivos. Además, configure use_temp_path=off para escribir archivos en caché directamente en su ubicación final, reduciendo la sobrecarga de E/S.
NGINX respeta las directivas de caché del servidor de origen. Solo almacena las respuestas que incluyen una Expira encabezado con una fecha futura o una Control de caché encabezado con un edad máxima valor mayor que cero.
Ahora puede aplicar estos principios en la configuración de caché de proxy NGINX.
[1] Documentación de NGINX: Una zona de claves de 1 MB almacena datos de aproximadamente 8000 claves.
Guía de configuración de caché proxy de NGINX
Aprenda a configurar y optimizar el almacenamiento en caché del proxy NGINX paso a paso.
Configuración de parámetros de caché
La base de la configuración del caché proxy de NGINX es la ruta de caché proxy Directiva. A continuación, se muestra un ejemplo de configuración:
ruta_caché_proxy /var/cache/nginx niveles=1:2 zona_claves=mi_caché:10m tamaño_máximo=10g inactivo=60m ruta_temperatorial_uso=desactivado; Esta configuración crea una estructura de directorio de dos niveles y asigna 10 MB para el zona de teclas (suficiente para aproximadamente 80 000 claves), establece un tamaño de caché máximo de 10 GB y define un tiempo de espera inactivo de 60 minutos.
También puede incluir estas directivas opcionales para un mejor control:
| Directiva | Propósito |
|---|---|
uso de caché proxy obsoleto | Sirve contenido obsoleto si los servidores de origen no están disponibles |
revalidación de caché proxy | Utiliza solicitudes GET condicionales para comprobar si el contenido sigue siendo válido |
actualización de fondo de caché proxy | Actualiza el contenido obsoleto en segundo plano. |
bloqueo de caché de proxy | Evita que múltiples solicitudes saturen el servidor de origen |
Después de definir estos parámetros, asigne memoria y espacio en disco en función del tráfico esperado.
Gestión del tamaño de la caché
Para dimensionar eficazmente su caché, considere el uso de memoria y disco. A continuación, le explicamos cómo:
- Dimensionamiento de la zona de memoria Asignar memoria para el
zona de teclasPara satisfacer sus necesidades de almacenamiento en caché:keys_zone=enterprise_cache:100m; # Admite aproximadamente 800 000 claves de caché - Asignación de espacio en disco Ajustar el
ruta de caché proxyPara especificar el espacio máximo en disco:ruta_caché_proxy /var/cache/nginx niveles=1:2 zona_claves=caché_empresarial:100m tamaño_máximo=10g inactivo=24h ruta_temperamental_uso=desactivado;
Una vez configurados estos parámetros, estará listo para inicializar y habilitar su caché.
Inicialización de caché
Después de ajustar los parámetros y el tamaño, siga estos pasos para activar el almacenamiento en caché:
- Utilizar el
ruta de caché proxydirectiva del ejemplo anterior y agregueproxy_cache mi_cachéa su configuración. - Habilitar el almacenamiento en caché dentro del correspondiente
servidoroubicaciónbloquear:proxy_cache mi_cache; - Opcionalmente, incluya cualquiera de las directivas de ajuste mencionadas anteriormente para mejorar el rendimiento.
- Supervise el estado de la caché agregando un encabezado personalizado:
agregar_encabezado Estado de caché X $upstream_cache_status;
Nota:Según la documentación de NGINX, 1 MB
zona de teclasPuede almacenar aproximadamente 8.000 claves.
Esta configuración garantiza que su caché esté listo para manejar el tráfico de manera eficiente y al mismo tiempo mantiene flexibilidad para realizar ajustes.
sbb-itb-59e1987
Gestión de caché NGINX empresarial
Una vez que la ruta de caché y los parámetros estén configurados, es momento de escalar su configuración para manejar el tráfico de nivel empresarial de manera efectiva.
Optimización de la tasa de aciertos de caché
Para mejorar la eficiencia del caché, habilite funciones como solicitudes condicionales y actualizaciones en segundo plano:
proxy_cache_revalidate activado; proxy_cache_background_update activado; proxy_cache_use_stale actualizándose; Evite saturar su servidor de origen configurando estos ajustes:
bloqueo de caché proxy activado; tiempo de espera de bloqueo de caché proxy 5 s; usos mínimos de caché proxy 2; Para entornos de alto tráfico, distribuya la carga de caché entre múltiples dispositivos de almacenamiento para mejorar el rendimiento:
split_clients "${uri_solicitud}" $disk { 20% "/datos/caché1"; 20% "/datos/caché2"; 20% "/datos/caché3"; 20% "/datos/caché4"; * "/datos/caché5"; } Una vez que su caché esté optimizado para el rendimiento, concéntrese en protegerlo para manejar contenido confidencial.
Controles de seguridad de caché
Para proteger solicitudes confidenciales, omita el almacenamiento en caché y personalice las claves de caché según sea necesario:
proxy_cache_bypass $http_pragma; proxy_cache_bypass $cookie_nocache; proxy_ignore_headers Control de caché; Para contenido personalizado o solicitudes basadas en cookies, ajuste la clave de caché y los métodos admitidos:
proxy_cache_key "$host$request_uri$cookie_user"; métodos de caché proxy OBTENER HEAD POST; Después de proteger su caché, asegúrese de supervisar continuamente su rendimiento.
Seguimiento del rendimiento de la caché
Supervise el comportamiento de la caché utilizando definiciones de estado para ajustar su configuración:
| Estado | Definición |
|---|---|
| ACTUALIZACIÓN | Contenido obsoleto que se publica mientras hay una actualización en curso |
| REVALIDADO | El contenido almacenado en caché se volvió a validar con el servidor de origen |
Analizar el Estado de X-Cache métricas periódicamente y ajuste las directivas para alinearlas con los patrones de tráfico para obtener resultados óptimos.
ServionConfiguración de caché NGINX de

Serverion personaliza la configuración de caché de NGINX según las necesidades específicas de cada carga de trabajo. Mediante directivas básicas, optimizan las configuraciones de caché de forma diferente para VPS y... servidores dedicados.
Rutas de caché por carga de trabajo
Cargas de trabajo de VPS
Para configuraciones de VPS, esta configuración logra un equilibrio entre la eficiencia de la memoria y tiempos de respuesta rápidos:
ruta_caché_proxy /data/nginx/cache niveles=1:2 zona_claves=SERVERCACHE:10m tamaño_máximo=10g inactivo=60m ruta_temp=desactivado; clave_caché_proxy "$scheme$request_method$host$request_uri"; caché_proxy_válido 200 302 60m; caché_proxy_válido 404 1m; El zona de teclas El tamaño está configurado para acomodar aproximadamente 80.000 teclas.
Dedicated Servers
Para aplicaciones de alto tráfico en servidores dedicados, Serverion utiliza un sistema de almacenamiento en caché distribuido en múltiples SSD:
ruta_caché_proxy /caché1 niveles=1:2 zona_claves=caché1:10m; ruta_caché_proxy /caché2 niveles=1:2 zona_claves=caché2:10m; ruta_caché_proxy /caché3 niveles=1:2 zona_claves=caché3:10m; split_clients "${uri_solicitud}" $cachezone { 33% "caché1"; 33% "caché2"; * "caché3"; } Esta configuración distribuye las escrituras de caché de manera uniforme entre tres SSD utilizando el clientes_divididos directiva.
Los valores específicos para estas configuraciones se derivan de la Tabla de referencia de parámetros de caché de Serverion.
Configuración de infraestructura
Para mejorar aún más el rendimiento, las configuraciones de los trabajadores de NGINX se ajustan para manejar de manera eficiente la entrada y la salida de caché:
procesos_de_trabajador automáticos; conexiones_de_trabajador 1024; afinidad_de_CPU_de_trabajador 0-3; # alinea trabajadores con núcleos de CPU Estos ajustes garantizan que las respuestas almacenadas en caché se entreguen con la máxima eficiencia.
Resumen: Resultados del ajuste de caché de NGINX
Serverion mejoró el rendimiento y la confiabilidad en todos sus sistemas de alojamiento Mediante ajustes detallados de la caché proxy. Al refinar la jerarquía de la caché, gestionar la configuración de actualización y optimizar el procesamiento de encabezados, mantuvieron una entrega de contenido fluida. En tiempo real. Caché proxy X Las métricas permitieron a los equipos de TI ajustar la configuración de caché de manera efectiva, lo que generó tiempos de respuesta más rápidos, menor tensión en los servidores de origen y mejor disponibilidad para las operaciones empresariales.
Entradas de blog relacionadas
- Cómo dominar las configuraciones de Nginx para un rendimiento óptimo del servidor web
- Las 7 mejores técnicas de almacenamiento en caché de datos para cargas de trabajo de IA
- Cómo el almacenamiento en caché de datos mejora el rendimiento del modelo de IA
- Configuración de NGINX más allá de lo básico: la perspectiva de Serverion sobre los secretos de las secuencias de comandos de Lua