2013-03-12 113 views
0

我有一個關於MVC之間的「邏輯速度」的問題。
假設在模型,視圖和控制器中具有相同的代碼,如下所示。導軌 - 速度和時間

1)「編譯」邏輯和查詢的速度在所有三個(M-V-C)中是相同的?

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)如何找到代碼瓶頸(減緩頁面加載)?

回答

1

您可以使用一些已知的工具來分析您的控制器/操作/視圖/模型。

  1. NewRelic的(一個好的代理商來跟蹤你的時間分佈manner..I'd喜歡這種一個)

  2. Librato(的治療劑,它可以通過在你的指標,只要一個控制器/動作它會在一段時間內給你一個結果)

  3. Rails控制檯輸出在控制器,視圖和活動記錄中花費的時間分佈。你絕對可以在這裏追蹤一些好東西。 (請參閱附件截圖)。

enter image description here

+0

感謝完整的問題!我想我會開始玩NewRelic。 – damoiser 2013-03-12 10:56:42