へっぽこコーダーの備忘録

phpやらjavascriptやら、使った技術をすぐに忘れちゃうから、おぼえがき程度に書いていきまーす
2015.03.17

PHPで部分ごとの処理時間を調べる

php/

DBからデータを取ってきたり、foreachでデータを処理したりしてたら、急にページの表示がめちゃくちゃ遅くなっちゃいました!

原因はデータ取得時に、JOINでテーブルをつないで大量のデータを取りまくってたことだったのですが、原因がわかるまでは、どこの表示が一番問題なのかがわからない。。。

なので、怪しい部分ごとに、処理時間を計測しようかなと思い、方法を調査しました。

で、使いやすい関数を作っていてくれた方がいらっしゃいましたので、それを使用させてもらいました☆

まず関数はこれ↓

function measure() {
  list($m, $s) = explode(' ', microtime());
  return ((float)$m + (float)$s);
}
この関数をPHPファイルに書いてやって、あとは処理時間を計りたい部分を以下のようなコードで囲んでやれば大丈夫です。

$start = measure();

ここに処理時間を計りたい部分のコードを記述

echo (measure() - $start);

おかげさまで、各コンテンツの処理時間や問題部分が発見できました。
詳しくはこちら様のサイトに記載されております。

phpで処理時間を計測する | CoDE4U