Webアプリケーションが遅いとか感じる時って、僕の場合、I/Oがボトルネックなケースが多いのです。つまり、MySQLへクエリーを投げて返却を待つとか、memcachedにget/set等のメソッドを発行した時の待ち時間が長くかかってたり... とかです。そうすると計測して原因を突き止めたくなります。PerlのプロファイラはDevel::NYTProfとか色々ありますが、こうしたI/Oに関しての計測は「Devel::KYTProf」が便利です。適当な場所にて use Devel::KYTProf; するだけで標準エラー出力に「空気読んで」ウマいこと色付きで、I/O周りのかかった時間とどこの箇所か?を表示してくれます。 ただ、この「標準エラー出力に表示」ってのは開発時にターミナルで確認する分には便利なのですが、例えば本番環境などで一時的にパフォーマンスを計測するためにはちょっと不便なことがあり
![Devel::KYTProfのログをファイルに書き出して、I/Oのボトルネックを知る - ゆーすけべー日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/82ecf8466eeb4ea19e62e97ab7b10d1a2b98bd45/height=288;version=1;width=512/https%3A%2F%2Fyusukebe.com%2Ficons%2Fmyicon.png)