【问题标题】:Ruby: can GC::Profiler.enable in production environment cause performance issue?Ruby:生产环境中的 GC::Profiler.enable 会导致性能问题吗?
【发布时间】:2012-06-30 02:43:15
【问题描述】:

在生产环境中激活 ruby​​ 1.9.2 中的 GC::Profiler 会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全?

【问题讨论】:

    标签: ruby ruby-on-rails-3 memory profiling


    【解决方案1】:

    仅激活GC::Profiler 不会导致性能下降,但问题是您打算如何处理它。

    将其与Rails.config.log_level 进行比较。如果设置得太高(如:notice),则需要将大量数据写入日志文件,导致 IO 比需要的高得多,从而导致性能下降。这就是为什么在生产环境中将记录器设置为:debug,以最大限度地减少 IO 操作。

    因此,如果您启用GC::Profiler 并且仅在极端情况下轮询特定结果,那么我认为不会有问题,当您开始过度使用分析器时,事情就会开始变慢。

    但这适用于一切,从过度使用数据库查询到过度使用复杂代码再到过度使用图像等等......

    【讨论】:

    • 其实我是用它来获取newrelic的报告,所以我猜每个请求都会记录数据?
    • 在这种情况下,我建议您直接与他们联系。也许他们可以告诉您他们如何(经常)进行民意调查。我相信他们会告诉您如何避免对您的服务造成任何重大影响。
    • @Alex 你联系过NewRelic吗?他们对你的回答是什么?
    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多