Ruby on rails 如何使用ruby prof和JMeter评测Rails

Ruby on rails 如何使用ruby prof和JMeter评测Rails,ruby-on-rails,ruby,performance,profiling,Ruby On Rails,Ruby,Performance,Profiling,我想使用ruby prof和JMeter评测Rails应用程序。我对分析特定控制器/动作/或模型方法的建议方法不感兴趣,我想从上到下分析整个堆栈 所以我做了这样的事情: RAILS_ENV=production ruby-prof -f prof.out script/server > /dev/null 然后我在上面运行我的JMeter测试计划。然而,问题是,在ruby prof可以写入任何输出之前,用CTRL+C或SIGKILL中断它也会杀死ruby prof。如何在不中断ruby

我想使用ruby prof和JMeter评测Rails应用程序。我对分析特定控制器/动作/或模型方法的建议方法不感兴趣,我想从上到下分析整个堆栈

所以我做了这样的事情:

RAILS_ENV=production ruby-prof -f prof.out script/server > /dev/null

然后我在上面运行我的JMeter测试计划。然而,问题是,在ruby prof可以写入任何输出之前,用CTRL+C或SIGKILL中断它也会杀死ruby prof。如何在不中断ruby prof的情况下停止mongrel服务器?

Webrick在收到SIGINT后停止,并让prof正确转储其数据

kill-INT


运行ruby prof的另一种选择是将您的应用程序部署到具有newrelic性能监控的登台环境(或任何与您的生产环境相当接近的环境),然后从JMeter对其运行重载测试。我发现这可以更准确地复制真实世界的性能,如果您需要比newrelic默认提供的更细粒度的性能数据,您可以随时将newrelic自定义指标添加到您的应用程序中。

是否要使用?我就是这么做的。JMeter通常用于负载测试。ruby prof通常用于评测,成本非常昂贵。我认为同时使用这两种工具并不真正兼容。我宁愿运行JMeter来找到系统的实际极限,然后通过ruby prof来分析最慢的是什么,然后重新开始查看实际的改进。。。