web-dev-qa-db-ja.com

プラグインはサイトの読み込み時間に影響しますか?

プラグインがロードされるのにかかる時間とそれらがどのページにロードされるかを測定する方法はありますか(コード全体を把握せずに)。さらに、どのプラグインがどのページのファイルをロードしているかを調べて、関係のないものにロードされているものを見つけたいと思います。

3
user1567

はい、プラグインはサイトの読み込み時間に影響します。

不必要なデータベースクエリを行い、多数のファイルをページにロードする、貧弱に書かれたプラグインがたくさんあります。

多数のプラグインを使用しているのでなければ、余分なJavaScriptファイルとCSSファイルはそれほど大きな問題ではありません。私は30か40のアクティブなプラグインを持っていた大規模なサイトで仕事をしてきました、そしてそれは問題になることができるのでサーバーはどんな高トラフィック期間の間にもクラッシュするでしょう。

追加のファイルがロードされていることを確認するには、単にソースを表示するか、Firebugの[ネット]タブを使用します。

alt text

プラグインによってロードされた外部ファイルを見つけるためのもう1つの良い方法は、 W3 Total Cacheの 縮小ヘルプウィザードを使用することです。

このウィザードはあなたのテーマとプラグインをスキャンし、それらを組み合わせて縮小したり、それらをどのページにロードするかをお勧めします。

alt text

PluginデータベースのクエリとCPU時間を監視するには、footer.phpの最後に次のコードを追加します。

<!--<?php echo $wpdb->num_queries;  
        _e('queries'); ?>. 
           timer_stop(1);  _e('seconds'); ?>.-->

これにより、各ページのソースを表示したり、いくつのクエリが行われているのか、それらのクエリにかかる時間がわかります。

例:

alt text

もちろん、これはどのPluginがクエリを担当しているかをあなたに教えてくれるわけではありませんが、さまざまな組み合わせを無効にして有効にしながらテストを行うことを可能にします。

5
Chris_O

あなたはいつでもそれらすべてを新しいプラグインに連結して代わりにそれをアクティブにすることができますが、あなたは正直なところあなたの時間を無駄にしています。それらを別々にしておくことによる保守容易性は、パフォーマンス上の利点を小さくします...

ただし、大量のプラグインを使用するとサイトのパフォーマンスに影響があることに注意してください。siege(http://www.joedog.org/index/siege-home)などのベンチマークツールを使用して、それを簡単に測定できます。

また、WP自体がリソースの浪費であることを見失ってはいけません。あなたはページロード時間から数ミリ秒マイクロ・オプティマイズすることができます、しかし最初の100ms以上の逐語的なWPロードを考えると、良いphpフレームワークを使って書かれたアプリケーションのより典型的な10-40msより個人的には気にしません。

1

Debug Queriesプラグインもこのタスクに役立ちます。もっと具体的になりたい、そしてコードを扱う気にしないのなら、 Plugin Test Drive (テストされたプラグインを分離する)を使います。各プラグインファイルが呼び出される直前と直後に次の関数を追加します。

<?php 
function getTime() 
    { 
    $a = explode (' ',microtime()); 
    return(double) $a[0] + $a[1]; 
    } 
$Start = getTime(); 
?>

<?php 
$End = getTime(); 
echo "Time taken = ".number_format(($End - $Start),2)." secs"; 
?>
1
Omer Greenwald