我想对加载模块所花费的时间进行基准测试(find_by_id(234)调用)。
另外,我如何跟踪加载页面所需的时间,我知道在运行rails服务器时我得到了这些信息,但这是在调试模式下,我想要生产速度基准,可能吗?
答案 0 :(得分:25)
为了快速检查,我强烈建议您查看Benchmark。
一个例子是:
require "benchmark"
time = Benchmark.measure do
a.find_by_id(234)
end
puts time
然而,对于生产水平基准测试,我会查看New Relic.他们提供了几乎所有你能想到的令人难以置信的基准测试。
他们在这里有免费的开发者模式:
答案 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可能会执行您想要的所有操作。