gpt4 book ai didi

nginx 日志出现故障,可能是由于缓冲日志记录

转载 作者:行者123 更新时间:2023-12-04 23:53:55 25 4
gpt4 key购买 nike

我的 nginx 日志文件中的记录有问题。 (编辑:“乱序”是指按时间顺序排列。例如,2017-02-21 09:13:26 的日志行通常是 之前的 2017-02-21 09:13:45 的行)可能会出现一定数量的乱序记录,因为它们是在请求完成后记录的,而不是在收到时记录的。但这是一种更高数量的无序记录请求,包括已知的对小型静态文件的短(快速)请求。

这是使用缓冲日志记录的已知副作用还是可以改进?

为了获得更完整的图片,这里有一些其他配置参数:

nginx.conf :

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 

在虚拟主机的配置文件中:
server {
#The backlog parameter matches sysctl net.core.somaxconn setting. Default value is 511 on Ubuntu.
listen 80 backlog=30000;
server_name www.example.com;
access_log /var/log/nginx/access.log main buffer=128k;
error_log /var/log/nginx/error.log;
root /var/www/html/website;
...
}

最佳答案

是的,这是缓冲问题。如果您使用的 worker 很少 - 每个 worker 都有自己的缓冲区。

改善方法:

  • 禁用缓冲
  • 减小缓冲区大小 (1)
  • 添加 flush选项,如果
    刷新到磁盘仍然很少
  • 使用排序创建自己的日志收集器
    (比如nginx可以syslog协议(protocol))

  • 但通常你不需要关心日志记录的顺序。日志分析系统会自行排序。

    (1) 对于 linux 系统,缓冲区大小不得超过一次原子写入磁盘文件的大小。在现代 Linux 中 - 它是 64k。好吧,我不能 100% 确定这个大小,因为信息非常不一致。但是,如果您在日志中发现断线 - 请减小此大小。

    关于nginx 日志出现故障,可能是由于缓冲日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41901948/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com