Apache的20GB error.log的影响

时间:2010-10-13 15:37:15

标签: php apache

我发现一个大小为20GB的错误日志文件!

我想知道Apache写这个会不会很慢?

我问,因为我理解它的方式是Apache在启动时打开error_log文件并写入它,这不应该那么慢 - 这是真的吗?

或者这种文件大小会降低记录错误的速度吗?

全部谢谢

3 个答案:

答案 0 :(得分:4)

附加到20GB文件的成本与附加到0B文件的成本相同,因此不会减慢Apache的速度。

处理该文件会很麻烦,您是否考虑过每小时轮换一次日志?

答案 1 :(得分:0)

据我所知,他只附加数据,因此错误日志的大小没有直接后果,但是20 GB的错误日志是什么?你真的找不到任何东西,我建议你看一下logrotate http://www.linuxcommand.org/man_pages/logrotate8.html

答案 2 :(得分:0)

Apache在启动时打开日志文件(并在发送HUP时关闭/重新打开它们),然后在服务器的生命周期内保持打开状态。因此,有一次性文件打开和寻找成本,之后数据只是附加到日志中。

即使它正在进行打开/搜索/写入/关闭操作,寻找文件的末尾也是一个相对轻量级的操作。每秒数百或数千次(对于繁忙的网站)这样做会开始变得昂贵。

但是,20克的错误数据似乎确实过多了。这有很多404和诸如此类的东西。根据您使用此日志的时间长短,您可能想要使用弯刀并开始清除一些更明显的错误(例如许多重复失败的robots.txt或favicon.ico返回404s的请求)。

您可以使用Apache自己的“rotatelogs”为您自动轮换内容,或使用系统自己的日志清理工具。