ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PHPの性能改善が必要な場合

2015-03-17 07:06:36 | PHP
PHPで開発した場合、
システムの入出力はあっているのだが、
パフォーマンスに問題がある
(処理時間が長い、画面遷移が遅いなど)
ということがある。




請負で開発している場合は、なんとかしないといけない。

こういうときに、

PHPの動作状況(各関数の経過時間や利用メモリ量)が分かる「コードトラッキング」の方法
http://blog.goo.ne.jp/XMLDTP/e/80f7182984c441f955038fa99cfa1aa6

で書いたzend-serverは、大変便利で、

Z-Rayを使うと、1つの画面遷移に対して、
PHP,データベース、I/O、ネットワークの処理時間を
返してくれるから、大雑把にどこに問題があるかわかり、

ネットワーク以外の問題であれば、さらに、
コードトラッキングを使って、どの関数が
時間がかかっているのかが分かる。




同じことをログに処理時間を出力させると、
ログに書き出す時間が問題になったり、
見にくかったりと、いろいろたいへん
その辺をすっきりグラフ化してくれるので、
開発者同士、お客さんに見せるのにもいい。

Zend Server 7 Small Business
(PKG-1184)が年間ライセンス30万なので
デバッガ1人月よりかは安い。
となってくると、請負の場合、コレだけの仕事するんなら、
zend server買ったほうが安いか?っていう話になる。




しかし、最近はSESがおおい。SESの場合、
「パフォーマンス悪いですねえ。」
「そーですねえ・・・」
で済んでしまう場合もあるし、さらに、ログを入れて解析する
仕事をする人を雇えば、プログラマを派遣している会社は
儲かるという側面がある。

また、開発と品質保証部門が分かれている場合、
「パフォーマンスの向上は品質保証部門がやることなので、
 開発がやってはいけない」と、怒られるケースがある
(少なくとも私は怒られた経験がある)
→品質保証部門が行わなかった場合、悪いコードが入ったままとなる




つまり、SESの場合、請負にくらべ、(Zend serverのような
高生産性ツールを使わないほうが儲かるから)クオリティも
生産性も下がっていく可能性は高い。
日本はそちらの方向に向かっている。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする