在生产环境中启用Rails日志记录是否会影响性能?

时间:2011-10-02 05:43:04

标签: ruby-on-rails performance scaling

我希望这个问题不是太模糊,但是在生产环境中登录会导致性能下降吗?除了传统的production.log日志记录之外,我们还在开始/救援类型事件中记录了一些其他内容,以帮助我们调试问题。

在我们的production.rb文件中,我们的设置是:

config.log_level = :info
config.active_support.deprecation = :log

我们也有一些:

TRACKER_LOG.warn xml_response_hash

这些文件可能变得非常大(每个1或2 GB),我们的网站每月收到几百万次页面浏览量。 Chould最大限度地减少我们对生产日志的使用有助于提高性能?

1 个答案:

答案 0 :(得分:2)

日志记录确实会影响性能,但如果它允许运行服务的人员在不关闭服务的情况下诊断问题,那么它在生产中仍然有用。

也就是说,每月有几百万次点击每天不到10万次(平均而言),这不应该太担心。同样,如果服务是明智地部署的,那么几GB的日志文件应该不用担心 - 如果您正在使用日志轮换策略 - 因为磁盘空间非常便宜。因此,在目前的水平,我建议你应该没事。但要注意它;如果流量突然激增(例如,在正常的一天达到1M次点击),您可能会遇到问题。 记录这个!你不希望制作人员对这些事情感到惊讶。

考虑使用一个可以在运行时禁用或启用的标志来进行额外的日志记录,这样你只需要收集大量的东西,如果你正在寻找它;对于通常的日志记录数据,您很可能偶尔会偶尔查找问题。