【发布时间】:2012-06-30 02:43:15
【问题描述】:
在生产环境中激活 ruby 1.9.2 中的 GC::Profiler 会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全?
【问题讨论】:
标签: ruby ruby-on-rails-3 memory profiling
在生产环境中激活 ruby 1.9.2 中的 GC::Profiler 会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全?
【问题讨论】:
标签: ruby ruby-on-rails-3 memory profiling
仅激活GC::Profiler 不会导致性能下降,但问题是您打算如何处理它。
将其与Rails.config.log_level 进行比较。如果设置得太高(如:notice),则需要将大量数据写入日志文件,导致 IO 比需要的高得多,从而导致性能下降。这就是为什么在生产环境中将记录器设置为:debug,以最大限度地减少 IO 操作。
因此,如果您启用GC::Profiler 并且仅在极端情况下轮询特定结果,那么我认为不会有问题,当您开始过度使用分析器时,事情就会开始变慢。
但这适用于一切,从过度使用数据库查询到过度使用复杂代码再到过度使用图像等等......
【讨论】: