Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:生产环境中的GC::Profiler.enable是否会导致性能问题?_Ruby_Ruby On Rails 3_Memory_Profiling - Fatal编程技术网

Ruby:生产环境中的GC::Profiler.enable是否会导致性能问题?

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,并且只在边缘案例场景中

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

简单地激活
GC::Profiler
不应该导致性能下降,但问题是您打算如何使用它

将其与Rails.config.log\u级别进行比较。如果将该值设置得太高(如
:注意
),则需要将大量数据写入日志文件,从而导致IO远远高于所需值,从而导致性能下降。这就是为什么记录器在生产中设置为
:debug
,以最小化IO操作

因此,如果您启用了
GC::Profiler
,并且只在边缘案例场景中轮询特定结果,那么我认为不应该有问题,当您开始过度使用Profiler时,事情可能会开始变慢


但这适用于所有情况,从过度使用数据库查询,到过度使用复杂代码,再到过度使用图像等等。

实际上,我正在使用它来获取newrelic中的报告,所以我猜每个请求都会记录数据?在这种情况下,我建议您直接与他们联系。也许他们可以告诉你他们投票的频率。我相信他们会告诉您如何避免对您的服务造成重大影响。@Alex您联系过NewRelic吗?他们回答了你什么?