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

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

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

为了快速检查,我强烈建议您查看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

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

没有这样的代码:

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

现在你可以这样做:

 benchmark :calculate_report # in class 

然后打电话给你的方法

 user.calculate_report 

我强烈建议您阅读性能测试的Rails指南 。 这是对rails内可用内容的一个很好的概述。 如果您想要自动化测试,可以进行代码更改并查看即时结果,这非常棒。

对于生产服务器基准测试, New Relic可能会做您想要的一切。