0

我对 MVC 之间的“逻辑速度”有疑问。
假设在模型、视图和控制器中具有相同的代码,如下所示。

1)“编译”逻辑和查询的速度在所有三个(MVC)中都相同吗?

伪代码

x = model.where(:a > 3, b < 9).a.first
y = model.sum(:a)
z = (x / y) * 2310.0
Date.today - 5

这是一个“愚蠢”的伪代码,但我想知道我的应用程序最常使用的代码行的性能(调用where查询、调用sum(聚合)查询、做一些数学运算、玩日期)

问题是我的页面加载速度有点慢。我已经替换了所有管理查询Models并添加索引的内容。也许添加缓存可以解决一点问题(但我使用我认为无法缓存的 Highcharts)。

2)我怎样才能找到代码瓶颈(减慢页面加载)?

4

1 回答 1

1

您可以使用一些已知的工具来分析您的控制器/操作/视图/模型。

  1. NewRelic(以分布式方式跟踪您的时间的好代理..我更喜欢这个)

  2. Librato(当控制器/动作被击中时,您可以将指标传递给它的代理,它可以在一段时间内为您提供结果)

  3. Rails 控制台输出在控制器、视图和活动记录中花费的时间分布。您绝对可以在这里跟踪一些好东西。(请参阅随附的屏幕截图)。

在此处输入图像描述

于 2013-03-12T10:21:47.790 回答