Ruby:生产环境中的GC::Profiler.enable是否会导致性能问题?
在生产环境中激活ruby 1.9.2中的GC::Profiler会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全?简单地激活Ruby:生产环境中的GC::Profiler.enable是否会导致性能问题?,ruby,ruby-on-rails-3,memory,profiling,Ruby,Ruby On Rails 3,Memory,Profiling,在生产环境中激活ruby 1.9.2中的GC::Profiler会导致性能问题吗?在性能关键的生产应用程序中使用它是否安全?简单地激活GC::Profiler不应该导致性能下降,但问题是您打算如何使用它 将其与Rails.config.log\u级别进行比较。如果将该值设置得太高(如:注意),则需要将大量数据写入日志文件,从而导致IO远远高于所需值,从而导致性能下降。这就是为什么记录器在生产中设置为:debug,以最小化IO操作 因此,如果您启用了GC::Profiler,并且只在边缘案例场景中
GC::Profiler
不应该导致性能下降,但问题是您打算如何使用它
将其与Rails.config.log\u级别进行比较。如果将该值设置得太高(如:注意
),则需要将大量数据写入日志文件,从而导致IO远远高于所需值,从而导致性能下降。这就是为什么记录器在生产中设置为:debug
,以最小化IO操作
因此,如果您启用了GC::Profiler
,并且只在边缘案例场景中轮询特定结果,那么我认为不应该有问题,当您开始过度使用Profiler时,事情可能会开始变慢
但这适用于所有情况,从过度使用数据库查询,到过度使用复杂代码,再到过度使用图像等等。实际上,我正在使用它来获取newrelic中的报告,所以我猜每个请求都会记录数据?在这种情况下,我建议您直接与他们联系。也许他们可以告诉你他们投票的频率。我相信他们会告诉您如何避免对您的服务造成重大影响。@Alex您联系过NewRelic吗?他们回答了你什么?