私は現在develモジュールをオンにしていて、サイトが遅い理由を理解しようとしています。次の情報行が表示されます。
ページ実行時間は4661.1ミリ秒でした。使用メモリ:devel_boot()= 3.27 MB、devel_shutdown()= 65.39 MB、PHP peak = 70 MB。
ページの読み込みに4661ミリ秒かかる理由を確認する方法はありますか?これはページがロードしているもののビューです:
はい、プロファイリングモジュールを使用して、実行により多くの時間を費やしている関数を特定し、その特定の関数を最適化できます。
以下は、Drupal 7(AFAIK)で利用可能なプロファイリングモジュールです。
個人的にはXHProfを使用しましたが、パフォーマンスの向上に大きく貢献しました。
XHProfは、PHP用の階層型プロファイラーです。これは、関数レベルの呼び出しカウントと、ウォール(経過)時間、CPU時間、メモリ使用量などの包括的および排他的なメトリックを報告します。関数のプロファイルは、呼び出し元または呼び出し先によって分解できます。生データ収集コンポーネントはCでPHP xhprofと呼ばれるZend拡張機能として実装されています。XHProfにはシンプルなHTMLベースのユーザーインターフェイス(PHPで記述)があります。プロファイラの結果を表示するためのブラウザベースのUIにより、結果の表示や他のユーザーとの結果の共有が簡単で、コールグラフ画像ビューもサポートされています。
これに加えて、Develから削除された Performance Logging and Monitoring モジュールを調べることもできます。
Devel mysqlログをオンにして、実行に時間がかかりすぎるクエリを確認できます。 mysqlでmysqlのスロークエリログをオンにすることもできますmy.cnf
ファイル。
このページにビューを使用しているようです。その場合は、ビューのフィルターを確認してください。ノードテーブルのインデックス列に適切なフィルタリングを追加してください。または他のインデックス列。さらに、mysqlキャッシュが有効になっていることを確認してください。
Drupalは、XHProfなどの素晴らしいプロファイリングツールをサポートしていますが、これはTwigチームが新しいテーマシステムのパフォーマンスを保証するために使用しています)は、ページ読み込みウォーターフォールがどのように見えるかを即座に確認するために使用するいくつかのオンライングラフ作成ツールでもあります。
Pingdomは、読み込まれたすべてのアセットと、レンダリングにかかった時間を視覚的に表示するものです。
たとえば、今読んでいるページのPingdomのウォーターフォールグラフは次のとおりです。
-
また、この回答を投稿した後、あなたがニューヨークにいることに気付かずにはいられませんでした。来月ニューヨークキャンプに来て、Drupalをパフォーマンスチューニングする方法を学びましょう: http://nyccamp.org