2012-02-14 83 views
1

網絡團隊已將我們的Ruby on Rails應用程序標記爲我們網絡上網絡流量的頂級生產者之一,特別是應用服務器和數據庫服務器(mysql)之間的數據包流量。減少Ruby on Rails到數據庫的流量

減少Rails應用程序和數據庫之間流量的建議最佳實踐是什麼?持久的數據庫連接?

+0

我不知道Ruby,但要做的第一件事可能是減少查詢的數量 - 通過減少它們的數量或緩存。如果實際的流量是問題,持續的連接不會有太大的幫助 – 2012-02-14 18:35:14

回答

0

啓動Wireshark或其他網絡掃描程序,並查找過於頻繁的最大數據包或小數據包 - 以識別特定的麻煩查詢。

然後,甚至在考慮緩存之前,檢查該查詢是否真的可以被緩存,或者它是否只是拉太多的數據,你不使用。

在這一點上,有太多不同的可能原因 - 每個都有自己的推薦做法。

2

這是一個實際的問題,還是他們頂級3分貝消費者不管是什麼?檢查您的日誌或讓他們提供他們認爲有問題的查詢日誌。

除此之外,請檢查您是否正在做糟糕的事情,例如在循環中通過視圖進行模型調用。你的日誌應該告訴你這裏發生了什麼,如果你看到每個部分在每次渲染時與一個查詢配對,這是一個很大的信號,你的邏輯應該被拉回到模型和控制器中。