禁用Nginx日志记录以使其更快 - 或其他替代日志记录方法?

时间:2015-08-01 14:00:00

标签: logging nginx

我正在托管一些交通繁忙的网站,这些网站主要基于Nginx。阅读Nginx日志记录的不同方面(例如,在StackOverflow上概述here),如果禁用日志记录(特别是如果流量很大,那么它似乎已经有所不同。我想知道什么是替代方案和最佳实践启用日志记录的慢速主机(或慢速磁盘)。可以使用哪种替代方案(内存,redis等)来保持nginx的吞吐量最大化?

1 个答案:

答案 0 :(得分:1)

是的,禁用nginx日志记录可以帮助您(虽然不显着,直到您真正获得巨大的流量)。

默认情况下,nginx会将每个请求写入磁盘上的文件以进行日志记录,您可以将其用于统计,安全检查等,但这会以IO使用为代价。 您可以将其关闭以保存磁盘写入。

但我个人建议不要完全关闭nginx访问日志写入。只需从访问日志中跳过静态文件,只记录实际请求,如下所示:

location ~  \.(jpg|jpeg|png|gif|swf|ico|js|css|txt|htm|html|xml|bmp|pdf|doc|docx|ppt|pptx|zip)$     {
    access_log off;
    #Your configuration...
}

location ~ \.php$ {
    access_log /path/to/your/log/file;
    #Your configuration...
}
相关问题