![访问日志(来自 nginx)会减慢网站速度吗?](https://linux22.com/image/795173/%E8%AE%BF%E9%97%AE%E6%97%A5%E5%BF%97%EF%BC%88%E6%9D%A5%E8%87%AA%20nginx%EF%BC%89%E4%BC%9A%E5%87%8F%E6%85%A2%E7%BD%91%E7%AB%99%E9%80%9F%E5%BA%A6%E5%90%97%EF%BC%9F.png)
如果您的网络服务器(在我的情况下是 nginx)正在写入访问日志,这会降低网站速度吗?
我最想知道它是否引人注目。
另外,了解访问过的用户代理/ip 有什么意义呢?
答案1
我认为您不会注意到性能有任何下降。日志写入可能会被缓冲,然后刷新到磁盘。因此,除非您的磁盘负载很高,否则一切都会顺利。如果磁盘负载很高,那么您可能需要更多内存(如果这只是一个 Web 服务器),以便从内存缓存中提供 Web 数据。
Nginx 采用事件驱动方法进行编程,因此日志写入不会阻止页面服务。我猜想线程/分叉 Web 服务器可能也会为此使用不同的线程或进程。
您还可以使用 syslog(或者甚至使用 Nginx 指令)将日志发送到外部主机。
用户代理可以帮助您了解流量来自何处以及浏览器。优秀的抓取工具会设置 UA(如“Googlebot”),浏览器应在 UA 中指定。IP 还有助于识别流量来源。如果您需要使用 awstats 等工具从日志中获取一些分析数据,那么您将需要这些信息。
答案2
与处理一个请求所需的资源相比,写一行日志是通常没有什么大不了的,文件只需打开一次(除非您是某些 DOS 攻击的受害者,在这种攻击中,经过多次访问后写入磁盘的日志将使您的机器非常繁忙)。
关于日志,我保留我的 Nginx 输出以进行一些统计(访问在哪里、来自哪个国家、使用哪种浏览器等...)。
如果您不需要它们,并且/或者担心它们占用的磁盘空间,请检查logrotate
nginx 的配置(应该在/etc/logrotate.d
文件中nginx
)。Ubuntu 默认轮换 52 周,这意味着超过一年的日志将被删除。