

PHPを使ったアプリケーションを運用している時に、アプリケーションコードの デプロイなどの外的な要因に突然負荷が上がる事があります。

その際に

  * コードの変更を加えない
  * Apacheの設定に変更を加えない
  * パッケージをインストールすることは有りとする

という条件の場合に一般的なシステムツール等を使ってボトルネックとなっているPHPのページを見つける手段はどのようにすればよいのでしょうか？


CC BY-SA 3.0
2014-12-25T05:39:20.363
2542
2014-12-28T18:59:54.563
3023
question
php
LinuxのApache上で動作しているmod_phpでシステムツールを使ったボトルネックを探す方法


ぱっと思いつくのは、httpdのプロセスIDを全部調べて、

[code]

    $ strace -o /tmp/out.txt -r -p [pid1] -p [pid2] -p [pid3] ...
    
[/code]

などとしておいて、不整脈が出たら停止、/tmp/out.txtをあさって、openされているファイルに軸をあわせて時間がかかっている箇所を特定する、とかでしょうか？


CC BY-SA 3.0
2014-12-25T08:31:53.410
2557
2014-12-25T08:31:53.410
2992
2542
answer


Dtrace を使うという手がありますが、お使いのディストリビューションによっては難しいかもしれません。

参考) <http://co3k.org/blog/21>


CC BY-SA 3.0
2014-12-28T18:59:54.563
2759
2014-12-28T18:59:54.563
5727
2542
answer