20131128 perl beginners_11_profiler

13
スピードアップする 場所を分析しよう ! @i47_rozary perl beginners #11

Upload: syunsuke-fujishiro

Post on 15-Jul-2015

489 views

Category:

Technology


3 download

TRANSCRIPT

スピードアップする…場所を分析しよう !

@i47_rozaryperl beginners #11

アジェンダ

1.自己紹介

2.分析について

3.まとめ

自己紹介

@i47_rozary

1.マネジメント2.PM

3.プログラミングなどなど…。

これ、全部別のチーム !!( ;∀; )

分析の前に…。

Voodoo Banshee

メモリ分析

use Devel::Size qw/size total_size/;

#この変数が返すメモリ量を知る。size (\@ary);

#構造を分析して、中身のメモリ量を知る。total_size (\%hash);

メモリ分析 - こんな時使ってる -

memcachedに入れる量を知る為に。

memcachedがローカルではなく、別のサーバーに置かれている時とか。

- 転送速度- 回線の占有率- memcachedに入れられるサイズ確認にも

ここからが

本題

Devel::NYTProfと Devel::KYTProf

2つプロファイラ (性能分析 )のご紹介。

テーマ軽い処理より重い処理を直した方が効果的 !

重い処理を見つけよう !!

Devel::NYTProf

> perl -d:NYTProf sample.pl

sample.out 分析結果のファイル

> nytprofhtml

sample ディレクトリ (中に html)

index.html(一部抜粋 )

横軸は時間長い所が重い所。

Devel::KYTProf

use Devel::KYTProf;

DBとか LWPとかMemcachedの IOを調べてくれる。

IO以外に見たいときは…Devel::KYTProf->add_prof(“$module”,”$method”);

ウェブサーバーでも使える

Plack::Middleware::Profiler::NYTProf

Plack::Middleware::Profiler::KYTProf

てのを使って見てください。

* ログが吐かれまくるので注意。

まとめ

効率の良いスピードアップ箇所を

見つろ !!