nytprofに関するboxphereのブックマーク (2)

  • 第17回 Webアプリケーションのパフォーマンス改善(2) | gihyo.jp

    前回の(1)はこちらから。 ボトルネックの特定 システムの現状が把握できたところで、ボトルネックの特定に取りかかります。アプリケーションのレスポンスタイムのうち、どこにどれぐらいの時間がかかっているのかを特定していきましょう。 Time::HiResによる簡単な計測 Time::HiResモジュールを利用することで、特定の個所にどれぐらい時間がかかっているのかを計測できます(リスト5⁠)⁠。 リスト5 Time::HiResの使用例 use Time::HiRes qw/ gettimeofday tv_interval /; my $t0 = [ gettimeofday ]; # 計測開始 ... # 処理時間を計測したい処理 my $elapsed = tv_interval($t0); # 経過時間(秒) ここは遅いだろう、という部分に目星が付いている場合には、処理時間を確実に計測

    第17回 Webアプリケーションのパフォーマンス改善(2) | gihyo.jp
  • Devel::NYTProf で Starlet/Starman (Plack) でうごくウェブアプリケーションのプロファイリングをおこなう方法まとめ - tokuhirom's blog

    Devel::NYTProf は Perl5 の世界でもっとも人気があるプロファイラである。表示が美麗であるし、ステップごとの処理速度が簡単にわかるのでとても便利だ。 そんな Devel::NYTProf であるが、Starlet/Starman のようなプリフォーク式のサーバーでうごくウェブアプリケーションとくみあわせる場合の方法論として、わかりやすい資料がみあたらなかったのでここに記すものである。 環境変数 NYTPROF を設定する Devel::NYTProf は環境変数で挙動を変えられる。 plack とくみあわせる場合には、以下のようにするとよい。 NYTPROF=sigexit=int:savesrc=0:start=no sigexit=int 通常、Devel::NYTProf は END { } ブロックでデータのファイナライズ処理をおこなうのだが、SIGNAL によっ

  • 1