如果你的networking服务器(在我的情况下,nginx)写入访问日志,是否会减慢网站速度?
我主要想知道是否明显。
另外,知道已经访问过的用户代理/ ips有什么意义?
我不相信你会注意到任何的performance。 日志写入可能会被缓冲,然后刷新到磁盘。 所以,除非你有很高的磁盘负载,你会没事的。 如果您的磁盘负载过高,则可能需要更多内存(如果这只是一个Web服务器),则Web内容将从内存caching中提供。
Nginx使用事件驱动方法进行编程,所以日志写入不应该阻塞页面的服务。 我想,线程/分叉web服务器可能使用不同的线程或进程。
您也可以使用syslog将日志发送到外部主机(或者甚至可能使用Nginx指令)。
用户代理可以帮助您知道stream量来自何处以及浏览器。 好的抓取工具会设置一个像“Googlebot”这样的UA,浏览器应该在UA中指定。 IP也有助于识别stream量来源。 如果您想要使用类似awstats的日志进行分析,您将需要这些信息。
与处理请求所需的资源相比,一行日志的写入通常不是什么大问题,并且文件是一次打开的(除非你是某些DOS攻击的受害者,其中日志写入磁盘之后访问次数 – 将使您的机器非常繁忙)。
关于日志,我保留我的Nginx输出来做一些统计(访问哪里,哪个国家,哪个浏览器等等)。
如果你不需要它们,并且/或者担心它们占用的磁盘空间,请检查nginx的logrotateconfiguration(应该位于/etc/logrotate.d文件中)。 Ubuntu的默认是旋转52周,这意味着一年以上的日志被删除。