2012-02-14 8 views
1

ネットワーキングチームは、Ruby on Railsアプリケーションを、ネットワーク上のネットワークトラフィックのトッププロデューサ、特にアプリケーションサーバとデータベースサーバ(mysql)間のパケットトラフィックとしてフラグ設定しました。データベースへのRuby on Railsトラフィックの削減

Railsアプリケーションとデータベース間のトラフィックを削減するための推奨されるベストプラクティスは何ですか?永続的なデータベース接続?

+0

Rubyについてはわかりませんが、#1の方法はおそらくクエリの数を減らしたり、数を減らしたり、キャッシュを減らしたりすることです。実際のトラフィックが問題である場合、永続的な接続はあまり役に立たないでしょう –

答えて

0

Wiresharkや他のネットワークスキャナを起動し、あまりにも頻繁に発生する大きなパケットや小さなパケットを探して、特定の面倒なクエリを特定します。

キャッシングを検討する前に、そのクエリが実際にキャッシュされるかどうか、または使用していないデータが多すぎるかどうかを確認します。

この時点では、考えられる原因が多すぎます - それぞれの推奨される方法はそれぞれあります。

2

これは実際の問題ですか、それともトップ3 dbコンシューマに何があってもかまいませんか?あなたのログをチェックするか、問題のあると思われるクエリのログをあなたに提供させます。

それ以外では、ループ内のビューからモデル呼び出しを行うなど悪いことをしているかどうかを確認してください。あなたのログはここで何が起こっているのかを教えてくれるはずです。それぞれの部分がレンダリングされるたびにクエリと組み合わされているのを見ると、それはあなたのロジックをモデルとコントローラに引き戻すべき大きな兆候です。

関連する問題