タグ

perlとtuningに関するnuraiのブックマーク (5)

  • Devel::KYTProfのログをファイルに書き出して、I/Oのボトルネックを知る - ゆーすけべー日記

    Webアプリケーションが遅いとか感じる時って、僕の場合、I/Oがボトルネックなケースが多いのです。つまり、MySQLへクエリーを投げて返却を待つとか、memcachedにget/set等のメソッドを発行した時の待ち時間が長くかかってたり... とかです。そうすると計測して原因を突き止めたくなります。PerlのプロファイラはDevel::NYTProfとか色々ありますが、こうしたI/Oに関しての計測は「Devel::KYTProf」が便利です。適当な場所にて use Devel::KYTProf; するだけで標準エラー出力に「空気読んで」ウマいこと色付きで、I/O周りのかかった時間とどこの箇所か?を表示してくれます。 ただ、この「標準エラー出力に表示」ってのは開発時にターミナルで確認する分には便利なのですが、例えば番環境などで一時的にパフォーマンスを計測するためにはちょっと不便なことがあり

    Devel::KYTProfのログをファイルに書き出して、I/Oのボトルネックを知る - ゆーすけべー日記
    nurai
    nurai 2013/04/14
    [I/O]
  • Devel::NYTProf - モダンなPerl入門 - モダンなPerl入門

    開発がひととおりすんだが、なぜか速度がでない。そんなときにはプロファイラの出番です。 Devel::NYTProf をつかえば、プログラムのどこで時間がかかっているのかがまるわかりになります。 使い方は簡単です。 perl -d:NYTProf target.pl nytprofhtml とするだけ。 mod_perl にも対応しています。 なにより Devel::NYTProf の出力する HTML がカッコイイのがポイントですね。 目次へ Last modified: $Date: 2008-05-22T09:21:23.154313Z $

  • PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog

    サボっていた早朝ジョギング@駒沢公園を再開して2週間たち、やっと抜かれる数より抜く数の方が増えてきたmikioです。今回は、PerlRubyのハッシュの代用としてTokyo CabiPerlRubyのバインディングをリリースしました。それを使うと、各種言語のハッシュとほぼ同じような共通したインターフェイスで、以下のデータ構造を利用することができます。 オンメモリハッシュ:各種言語に標準のハッシュと同じく、メモリ上でkey/valueの関係を表現する。 オンメモリツリー:メモリ上の二分探索木としてkey/valueの関係を表現する。 ファイルハッシュ:いわゆるDBMとして、ファイル上でkey/valueの関係を表現する。 ファ

    PerlとRubyで省メモリなハッシュを使おう - mixi engineer blog
  • anney's room - frei - dprofpp -O。

    Devel::DProf は便利なんだけど なんか変な結果が出ている。 リファクタ後、User+System Time は減っているのに Total Elapsed Time は増えている。うーむ。 仕方ないので、DProf の結果で細かくボトルネックを見ていくかーと思いつつも いつもの使い方だと、時間のかかった上位15位までしか表示されないので 何かオプションないかなー…と朝からカチャカチャ。 ・表示件数を指定 dprofpp -O 上位○位まで表示 ・アルファベット順で表示 dprofpp -a ・呼ばれた回数の多い順 dprofpp -l ・Total Elapsed Timeで表示 dprofpp -q ・System Timeで表示 dprofpp -s ・User Timeで表示 dprofpp -u ・特定の文字列を含むルーチンを除外 dpr

  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

  • 1