2019年11月12日

webの辰人

遅いサイトを早くする

米GoogleがWeb高速化の取り組みのひとつとして、ページの読み込みが特に遅かったり速かったりするWebサイトに、
それと分かる“バッジ”を「Chromeブラウザ」で表示する計画を発表しました。
まだどのような表示方法になるかなど検討中との事ですが、
利用者にとってはとっても便利な機能ですね。

ただ、開発者にとっては、ちょっとドキドキな機能だったりします。


画像ファイルを小さくしたりソースをコンパクトにしたり基本的な対策はとれるとしても、
プログラムが遅いという問題は、すぐには対策が取れないモノです。

プログラムのどこがボトルネックになっているのか?
それを調べるツールの一つとして、プロファイラがあります。
プロファイラとは性能解析ツールであり、プログラム実行時の各種情報を収集します。
特に、関数呼び出しの頻度やそれにかかる時間を計測することができます。



どこで何がどのくらい呼ばれて、どのくらい時間かかっているのか?
ということが分かるわけですね。


PHPでいうと、 xhprofという便利なプロファイラがあります。
https://pecl.php.net/package/xhprof
これにxhguiとgraphvizを用いてわかりやすく処理の流れを追うことができます。


またJavaScriptの場合は、ブラウザの機能で実装されたりしていますので、
結構簡単に使う事ができます。
https://developer.mozilla.org/ja/docs/Tools/Profiler


Googleのバッチ表示実施のタイミングは不明ですが、ある日突然不名誉なバッチが出てしまう前に、
無駄処理、重複処理は極力削って、遅いサイトを早くしましょう。