您好,我想知道是否有人在 Apache2 中使用 BufferedLogs On 并发现任何问题?该功能被标记为实验性的,但已经使用了很多年,所以我猜它相当稳定。我目前正在运行一些磁盘 IO 容量受限的服务器,所以我打开它,希望即使是很小的好处也能在长期内有所帮助 ;-) 我每秒确实有几百个请求,所以在我看来,每次请求后真的没有必要写入日志,因为老实说,我不认为我的文件系统是许多不必要写入的最佳处理程序。(OCFS2 在 Xen 中的几个 DomU 之间共享)
答案1
我用过缓冲日志过去,它似乎很稳定。这很烦人,因为你无法实时看到访问情况。:)
答案2
如果它对看到这篇文章的人有帮助,那么从 Apache 2.4(当这个问题最初提出时尚未发布)开始,文档中不再有关于 BufferedLogs 的实验性警告。现在它只警告服务器崩溃可能会导致日志数据丢失 [即任何尚未写入磁盘的日志条目(因为它们在内存中缓冲)将因崩溃而无法写入] - 请参阅http://httpd.apache.org/docs/2.4/mod/mod_log_config.html#bufferedlogs。
另一个警告可以在http://wiki.apache.org/httpd/PerformanceScalingUp#Logging_and_Performance这表明 BufferedLogs 处于开启状态可能会导致日志条目乱序写入。我猜这只有在多个 VirtualHosts/网站记录到同一个文件时才会发生,但并没有明确在哪种情况下会发生这种情况,而且它可能适用于甚至一个 VirtualHost/网站。该页面也没有明确这是否适用于所有版本或仅适用于某些版本。
您可以使用 BufferedLogs 指令让 Apache 在将多行日志写入磁盘之前先在内存中收集这些日志。这可能会提高性能,但可能会影响服务器日志的写入顺序。