在生产环境中激活 ruby 1.9.2 中的 GC::Profiler 会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全?
最佳答案
仅激活 GC::Profiler
不会导致性能下降,但问题是您打算如何处理它。
将其与 Rails.config.log_level
进行比较。如果设置得太高(如 :notice
),则需要将大量数据写入日志文件,导致 IO 比需要的高得多,从而导致性能下降。这就是为什么在生产环境中将记录器设置为 :debug
以最小化 IO 操作。
因此,如果您启用 GC::Profiler
并且仅在极端情况下轮询特定结果,那么我不认为应该有问题,正是当您开始过度使用分析器时事情可能会开始放缓。
但这适用于一切,从过度使用数据库查询到过度使用复杂代码再到过度使用图像等等......
关于Ruby:生产环境中的 GC::Profiler.enable 会导致性能问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247017/