Nginx缓存命中时间长$request\u
Nginx缓存命中时间长$request\u,nginx,Nginx,$upstream\u cache\u status被命中,但$request\u time有时会持续5秒,有什么问题 我的nginx.conf http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; keepalive_timeout 65; gzip on;
$upstream\u cache\u status
被命中,但$request\u time
有时会持续5秒,有什么问题
我的nginx.conf
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
gzip on;
client_max_body_size 30M;
proxy_temp_path /tmp/proxy_temp_dir;
proxy_cache_path /tmp/proxy_cache_dir levels=1:2 keys_zone=cache:500m inactive=1d max_size=500m;
log_format cache_log '$remote_addr - [$request_time] $status $upstream_cache_status "$request"';
server {
access_log logs/access.log cache_log;
error_log logs/error.log error;
proxy_cache cache;
proxy_cache_valid 10m;
location / {
proxy_next_upstream http_502 error timeout;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://xxxxxx;
}
}
include /usr/local/openresty/nginx/conf/vhosts/*.conf;
}
和access.log:
x.x.x.x - [5.076] 200 HIT "GET /xxx"
x.x.x.x - [0.092] 200 HIT "GET /xxx"
相同的请求url,两者都被缓存,为什么$request\u time
会持续5秒或更长时间
谢谢。这是一个磁盘IO问题,我将代理缓存路径移动到另一个SSD,问题就解决了。总是第一次命中吗?我想说被调用的元素没有被缓存。Log
$upstream\u response\u time
。这是很长一段时间以来对该url的第一个请求吗?可能是HDD延迟吗?@AlexeyTen All HIT request的$upstream\u response\u时间为空。@Otanout不是第一次命中。除了磁盘读取速度慢之外,我想不出其他什么。