2011-01-21 14 views
3

私はRuby 1.8.7とmysql上で動作するRails 2.3.4アプリケーションのメンテナンスを引き継ぎました。このアプリケーションは、拡張機能付きカスタムRadiant CMS 0.8.1サイトです。現在、プロダクション環境は頻繁に低速であり、時には応答性がありません。これらの時代に私はmysqlのCPU使用率が屋根を飛び越えていることに気付きました。ウェブサイトには国際的な視聴者がいて、創作時にそのサイトは考慮されていませんでした。現在、ユーザーベースは約4600になり、成長しています。 Railsとmysqlの両方の性能低下を診断するための初期段階は何ですか?mysqlで実行中のパフォーマンスの低いRailsアプリケーションの診断方法を教えてください。

おかげで、 マイク

答えて

3

ないのRails固有一方では、私は、MySQL slow query logを使用してRailsアプリケーションは、(log/production.logを確認してください)送信されるクエリにそれらをバックトラッキングをお勧めします。

+2

あなたが遅いクエリを見つけた後、あなたは彼らが – cam

+0

が合意、1カム(これらはActiveRecordのによって生成されたクエリがある場合、私はちょうど行方不明のインデックスを推測している)ので、遅い理由を判断するために、EXPLAINを使用することができます! –

1

私が契約した最後の場所は、query_reviewerというツールを使用しました。開発モードですべてのクエリを分析し、可能な問題を知らせるUIの警告を表示するRailsプラグインです。あなたがアプリとログや他のテストツールの間を行き来する必要がなかったので、私はそれが好きでした。

https://github.com/dsboulder/query_reviewer

別の有用なツールは、新しいレリックである - それはあなたがちょうどあなたの地元でそれを使用している場合開発するための無料です。ビューのレンダリングやその他の潜在的な効率の問題など、SQL以外のものも分析します。

http://newrelic.com/

+0

query_reviewerを使用している場合は、ここにリンクされているものより新しいフォークについてgithubをチェックしてください。 – pjmorse

関連する問題