3

nginx/passenger でデプロイされた Rails アプリ用に、大きなサーバー (12 スレッド、6 コア、64Gb RAM、2 つの SDD RAID-0) を実行しています。

残念ながら、ページの読み込みには 10 秒から 40 秒ほどかかります。ただし、サーバーの負荷は非常に軽く、平均負荷は0.61 0.56 0.53. RAM が奇妙に使用されており、free -ml57Gb (64Gb) の使用量が報告されてhtopいるのに、4Gb (64Gb) しか報告されていません。

プロダクション ログを確認したところ、Rails リクエストが完了するまでに 100/200 ミリ秒程度かかるため、ほとんど何もありません。

ボトルネックを特定するにはどうすればよいでしょうか。

4

2 に答える 2

1

この質問はかなり漠然としていますが、いくつかの指針を与えることができるかどうか見てみましょう.

私の最初の推測では、あなたのアプリはデータベース関連の処理に多くの時間を費やしているということです。私のアドバイスについては、以下を参照してください。

free -ml奇妙なメモリ使用量については、出力の正しい部分を見ていますか? 明確にするために-/+ buffers/cache:、正確な出力を得るために行を見たいと思っています。

また、パッセンジャーではかなり一般的な問題であるため、パッセンジャー ワーカーがハングしているかどうかを確認することもできます。strace -p $pidこれは、パッセンジャー ワーカーで実行することで実行できます。ぶら下がっている場合、「何かをする」ことが明らかに不足しています。

newrelicRails 自体の応答時間のトラブルシューティングについては、 ( http://newrelic.com/ ) の使用を検討することを強くお勧めします。多くの場合、アプリの各部分で費やされた時間を分析することで、アプリのどの部分が応答時間の悪さを引き起こしているかを正確に知ることができます。これはインストールが簡単な gem であり、レポートが機能するようになると、このような問題には非常に貴重です。

于 2013-06-28T16:30:03.710 に答える