2013年7月13日

さくらのレンタルサーバーでPHPのメモリ使用量を把握する方法(phptop)


photo credit: William Hook via photopin cc

レンタルサーバーでメモリの使用量を把握するのは難しいのですが
phptopを使えば簡単にわかったので、設定方法を記述します

今回サーバーはさくらインターネットを例に書きますが、他のレンタルサーバーでも利用できると思います

設定後のイメージです
php20130713.png
error_logに実行時間と使用したメモリ量がでています。
robots.txtへのアクセスで58M
wp-cron.phpが58Mです

設定方法

PhpTopの公式からファイルを取ってきます
http://forge.bearstech.com/trac/wiki/PhpTop

最新バージョンが0.5.3なので
http://forge.bearstech.com/trac/raw-attachment/wiki/PhpTop/phptop-0.5.3.tar.gz

アーカイブの中にある「phptop_hook.php」を取り出して、サーバーにアップします

php.iniに
auto_prepend_file=/home/username/phptop_hook.php
を追記します(各自でアップロードした場所とあわせてください)

さくらインターネットでは管理画面より
メニューの「PHP設定の編集」で変更します
php1307132.png
(usernameは適宜自分のidに変更してください)

保存するで反映されます
これで設定は完了です


ログの表示方法

メニューの「アクセスログの設定」
エラーログの表示をクリックしてください
別ウィンドウで表示されます


メモリ使用量を把握したら

php.iniのauto_prepend_fileの一番最初に「;」を付けて無効化して設定を変更しておくとよいでしょう

phptop

error_logに出力したデータを集計するphptopというツールがあるのですが、さくらのレンタルサーバーではいろいろと面倒だったので使いませんでした
(cpanmとLocal::LibでTerm::Sizeいれてphptopにuse lib qq{/home/username/perl5/lib/perl5};を記述して)

./phptop-0.5.3/phptop -t 15 -s mem
Error: no log files found/processed. Tried: /var/log/apache2/error*log, /var/log/apache2/*/error*log

(VPSとかrootのある環境なら簡単に設定できます)

参考

サーバ上で動いてるどのphpが重いか?を調べられる「phptop」:phpspot開発日誌


スポンサーリンク



  • follow us in feedly