如何准确地确定加载模型所需的时间?

时间:2011-04-07 02:46:49

标签: ruby-on-rails benchmarking

我想对加载模块所花费的时间进行基准测试(find_by_id(234)调用)。

另外,我如何跟踪加载页面所需的时间,我知道在运行rails服务器时我得到了这些信息,但这是在调试模式下,我想要生产速度基准,可能吗?

3 个答案:

答案 0 :(得分:25)

为了快速检查,我强烈建议您查看Benchmark

一个例子是:

require "benchmark"

time = Benchmark.measure do
  a.find_by_id(234)
end
puts time

然而,对于生产水平基准测试,我会查看New Relic.他们提供了几乎所有你能想到的令人难以置信的基准测试。

他们在这里有免费的开发者模式:

http://support.newrelic.com/kb/docs/developer-mode

答案 1 :(得分:3)

你可以使用这个宝石: https://github.com/igorkasyanchuk/benchmark_methods

不再有这样的代码:

t = Time.now
user.calculate_report
puts Time.now - t

现在你可以做到:

benchmark :calculate_report # in class

然后调用你的方法

user.calculate_report

答案 2 :(得分:0)

我强烈建议您阅读Rails Guide on Performance Testing。这是对rails内可用内容的一个很好的概述。如果您想要自动化测试,可以更改代码并查看即时结果,那就太棒了。

对于生产服务器基准测试,New Relic可能会执行您想要的所有操作。