Cache:
Você está ativando proxy_cache
no bloco location
ou server
?
Por exemplo, algumas configurações no bloco location /
dos documentos Nginx .
proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=staticfilecache:180m max_size=700m;
server {
# ...
location / {
proxy_cache my_cache;
proxy_cache_revalidate on;
proxy_cache_min_uses 3;
proxy_cache_use_stale error timeout updating http_500 http_502
http_503 http_504;
proxy_cache_background_update on;
proxy_cache_lock on;
# ...
}
Para o cache funcionar, você precisa de pelo menos as duas configurações obrigatórias:
Se você definir em algum bloco location
, tem certeza de que é aquele que deseja armazenar em cache?
Analisando
Se você deseja analisar os hits, você pode criar um log específico para isso:
log_format cache_st '$remote_addr - $upstream_cache_status [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
E no mesmo bloco server
ou location
, você pode adicioná-lo como um log secundário, para não perder as outras coisas:
access_log /var/log/nginx/domain.com.access.log;
access_log /var/log/nginx/domain.com.cache.log cache_st;
Você pode verificar algumas estatísticas:
HIT vs MISS vs BYPASS vs EXPIRADO
awk '{print $3}' cache.log | sort | uniq -c | sort -r
URLs da MISS :
awk '($3 ~ /MISS/)' cache.log | awk '{print $7}' | sort | uniq -c | sort -r
URLs de BYPASS :
awk '($3 ~ /BYPASS/)' cache.log | awk '{print $7}' | sort | uniq -c | sort -r
MISS vs BYPASS
-
MISS ocorre quando um padrão é configurado para armazenar em cache, mas no momento da solicitação não foi armazenado em cache. Na configuração correta, as solicitações subsequentes serão atendidas a partir do cache com base na duração do armazenamento em cache de outros parâmetros.
-
BYPASS ocorre quando um padrão foi explicitamente configurado para NÃO usar o cache. por exemplo. ignorando o cache para o usuário conectado. As solicitações subseqüentes também serão ignoradas.
Fonte de análise:
- link
Outra opção para analisar rapidamente via console é usar o GoAccess, um analisador de logs da web em tempo real muito bom, que só precisa de ncurses para funcionar: link