詳細なしで特定するのは難しいですが、一般的なガイドのショットを次に示します。
最初に、Firefox 用のFirebugのようなものを使用することをお勧めします。他のブラウザーにも同等のものがありますが、これは、この種のことを行うための私の古い頼りになるツールです。それを有効にすると、ページにロードされているすべてのオブジェクトのリストを表示するウォーターフォール ダイアグラムのネット パネル ビューが表示されます (更新が必要になる場合があります)。また、レンダリング イベントを示す青色も表示されます (ページが見える)。
ウォーターフォールは、ページの遅い部分がどこにあるかを明確にし、その情報を利用して次の段階に進むことができるようにする必要があります。つまり、特定の部分が遅い理由を突き止めます。
プラグインが気に入らない場合、または問題の原因がマシンのローカルにある可能性があると思われる場合は、http ://www.webpagetest.org/ をご覧ください。
これにより、さまざまな場所、さまざまなブラウザー、速度などからリモート テストを行うことができ、同様の詳細な結果が得られます。
フェッチされているのが静的ファイルである場合は、ネットワークの問題を調べてください。Apache が原因です。動的に生成される場合は、Apache、ASP、mongodb などを調べてください。
Apache の場合、インデックス ページの応答時間はアクセス ログでどのくらいですか? Apache 2 以降を想定している場合は、必要な詳細レベルで (Apache の観点から) ページを提供するのにかかった時間を確認できるように、(必要に応じて) ログに記録されていることを確認してください%D
。%T
詳細については、LogFormat ディレクティブを参照してください。
ASP/Mono 側ではどうしようもありませんが、さまざまなポイントでデバッグ ステートメントを追加してインデックス ページの生成を追跡することは (動的に生成されると仮定して)、かなり標準的な方法です。
データベースの場合、MongoDB はデフォルトで、100 ミリ秒を超える「遅い」クエリのみをログに記録します。ログを介して 100 ミリ秒未満の応答時間の問題を追跡しようとしている場合は、それを調整する必要があります。これは次のように行うことができます。
> db.setProfilingLevel(0,20) // leave profiling off, slow threshold=20ms
mongod プロセスへの起動パラメーター (--slowms) として調整することもできます。プロファイリングの詳細については、こちらも役立つ可能性がありますが、オーバーヘッドがあります。
http://www.mongodb.org/display/DOCS/Database+Profiler