nginx 的 access_log 设置成 off 和/dev/null,二者有区别吗?

2021 年 8 月 27 日
 kisshere

哪种性能更好一点

4041 次点击
所在节点    NGINX
20 条回复
ThirdFlame
2021 年 8 月 27 日
设置为 /dev/null 那么日志生成了,写入到了 /dev/null
设置为 off 就没有生成

盲猜的,如有问题请指正
Lentin
2021 年 8 月 27 日
如果追求性能理论应该是 off
chendy
2021 年 8 月 27 日
off 更好
Lentin
2021 年 8 月 27 日
quanjw
2021 年 8 月 27 日
看了下官方文档,并没有涉及 /dev/null,还是用推荐参数吧 off 吧。 --The special value off cancels all access_log directives on the current level.
dzdh
2021 年 8 月 27 日
我测试了一下。。


设置成 off 后,日志都存到了 /usr/local/nginx/logs/off
kisshere
2021 年 8 月 27 日
@dzdh 你的 nginx 版本?我的怎么没有这个 off 文件
dzdh
2021 年 8 月 27 日
@kisshere 1.0.15
zhoudaiyu
2021 年 8 月 27 日
借楼问个问题,比如一个进程把标准输出重定向到了 /dev/null (假设 PID 为$p ),那么为什么 tail -F /proc/$p/fd/1 看不到日志呢?怎么才能看到呢?
rv54ntjwfm3ug8
2021 年 8 月 27 日
@dzdh #6 相同的情况
quanjw
2021 年 8 月 27 日
[nginx version: nginx/1.16.1] off 能够成功关闭
codehz
2021 年 8 月 27 日
就是版本问题,stackoverflow 的答案都是 2011 年的,现在 2021 年了,过时了也很正常吧
0ZXYDDu796nVCFxq
2021 年 8 月 27 日
error_log 指令没有 off 参数
access_log 是可以 off 的
ntdll
2021 年 8 月 27 日
@zhoudaiyu /dev/null 是个黑洞,丢进去就没了,这为啥你觉得还能看到呢
chendy
2021 年 8 月 27 日
题主补充的内容不冲突的
access_log 可以 off
error_log 不行,off 会被当成 path
kisshere
2021 年 8 月 27 日
@chendy nginx 这种设定感觉好脑残
oh
2021 年 8 月 27 日
谢谢楼主这个主题,很多时候可能不会注意到被写入 off 文件了
libook
2021 年 8 月 27 日
我很多时候需要看 log 来排查故障,所以从来没试过这两个方案……所以不关心其他方案的话可以不用往下看了。

不过机器的性能是差到什么程度,其他的都优化完了还得禁用日志……

我目前的方案是 logrotate+tmpfs+folder2ram:
避免日志填满存储空间,用 logrotate 来拆分日志并定期删除旧日志,有需求还可以压缩;
有可能需要实时查看但不需要保留的可以放在 tmpfs 里,比如 /tmp,但并不是所有系统的 /tmp 都是 tmpfs,最好 df 确认一下,本质就是放在内存里,配合 logrotate 可以避免内存被塞满,关机后自动清除(丢失),对磁盘 IO 没有依赖;
需要保存的日志放到挂载为 folder2ram 的目录里,先写入内存,默认关机时自动持久化到磁盘上,也可以用 corn 或 systemd timer 来定时自动回写,在使用 SSD 、U 盘、TF 卡的时候有效防止频繁写入导致寿命急剧降低,当然突然断电会导致内存中的数据丢失。
akira
2021 年 8 月 27 日
@libook 统一都进 tmpfs,如果需要持久化则同步到日志服务器 ,这样的方案是不是会更好
silymore
2021 年 8 月 28 日
@libook 你 server 会关机吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/798261

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX