Nginx 日志“加载缓慢”通常不是 Nginx 本身处理慢,而是读取/查询日志时慢,或者日志写入影响了性能。下面按常见原因给你一个排查清单:
access.log 几个 GBtail、less、grep 都很慢# 使用 logrotate(推荐)
/var/log/nginx/*.log {
daily
rotate 7
missingok
notifempty
compress
sharedscripts
postrotate
nginx -s reload
endscript
}
mv access.log access.log.$(date +%F)
nginx -s reopen
access_log 开启了不必要字段access_log off; # 静态资源可关
log_format main '$remote_addr - $request_time $request';
access_log /var/log/nginx/access.log main;
access_log /var/log/nginx/access.log main buffer=64k flush=1m;
cat access.logvim 大日志grep 上 GB 文件tail -n 1000 access.log
less access.log
zcat access.log.*.gz | grep xxx
error.log 巨大error_log /var/log/nginx/error.log debug;
error_log /var/log/nginx/error.log warn;
df -h
df -i
iostat -x 1
如:
log_subrequest on;rewrite_log on;生产环境建议关闭。
如 ELK / Grafana Loki:
grep 大文件慢?如果你愿意,可以告诉我:
我可以直接帮你给出精确优化方案。