SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「Zend Server Ver 6.1」チュートリアル

「Zend Server 6.1」フリー版の日本語化と、PHPアプリの運用監視に便利な機能

「Zend Server Ver 6.1」チュートリアル 後編

問題発見に便利な機能

 Zend Serverには、PHPスクリプトの実行状況を監視するために便利な機能が搭載されています。比較的ベーシックな機能を提供するログ表示を解説した後、問題発生時の原因調査やチューニングに役立つモニタおよびコードトレーシング機能を解説します。

ログ表示

 Zend Serverのログファイルは、Linux版の場合、/usr/local/zend/var/logディレクトリにあります。OverviewのLogsタブを使用すると、これらのログファイルをWebブラウザで確認したり、ダウンロードできます。左側の一覧からログファイルを選択します。

 PHPのエラーログや、Apacheのログも選択できます。表示を絞り込むには、AdministrationのSettingsタブのLog Verbosityを使用します。

図14:ログ表示
図14:ログ表示
図15:ログの冗長度
図15:ログの冗長度

モニタとイベント

 関数の実行に時間がかかる場合やメモリの大量消費などを調査するには、PHPのエラーログではなくモニタが便利です。設定したルールにそって発生したイベントをOverviewのEventsタブで確認できます。

図16:Eventsタブ
図16:Eventsタブ

 ルールはApplicationsのMonitoring Rulesタブで設定できます。各ルールをクリックすると設定が表示されます。設定変更後、右上のSaveボタンを押し、再起動アイコンをクリックする必要があります。変更しない場合はCloseボタンを押します。

図17:ルール一覧
図17:ルール一覧

 各ルールは、Notice、Warning、Criticalの3段階で設定できます。例えば、メモリ消費量が4、8、16MBを超えた際にそれぞれイベントを発生させる場合、3段階ともチェックし、Memory Usageに1024倍した値を設定します。

図18:ルールの設定例1(メモリ消費量)
図18:ルールの設定例1(メモリ消費量)

 関数が対象のイベントを発生させる場合は、対象の関数を複数指定できます。AddFunctionボタンで関数を追加します。削除は、各関数名の左の×印で行います。

図19:ルールの設定例2(関数の実行時間の超過)
図19:ルールの設定例2(関数の実行時間の超過)

コードトレーシング

 イベントの発生時点だけではなく、実行中のメモリ消費量の変化や各関数の実行時間を調査するには、コードトレーシングが便利です。例えばパフォーマンスのボトルネック調査に役立ちます。この機能はOverviewのCode Tracingタブで使用できます。調査するPHPスクリプトのURLを入力し、右横のTraceボタンを押します。

図20:コードトレーシング実行
図20:コードトレーシング実行

 結果を表示するには、IDのリンクをクリックします。デフォルトのTrace Treeタブは関数の実行順で表示されます。Statistics per Functionタブは関数ごとの一覧が表示され、項目名をクリックするとソートできます。それぞれShow memory usageをチェックするとメモリ使用状況も表示されます。

図21:Trace Treeタブ
図21:Trace Treeタブ
図22:Statistics per Functionタブで関数名でソート
図22:Statistics per Functionタブで関数名でソート

むすび

 Zend Serverのインストールから問題発見に便利な機能まで駆け足でご紹介しました。

 PHP実行環境の準備から運用監視まで、無償の範囲でも多くの機能が使用できます。開発や運用のお役に立てば幸いです。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
「Zend Server Ver 6.1」チュートリアル連載記事一覧
この記事の著者

吉田 悟(コネクト株式会社)(ヨシダ サトル(コネクトカブシキガイシャ))

主にSIer向けにPHPおよび商用データベースのトラブル時の調査とテクニカルサポートを担当しています。http://www.konekto.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7494 2013/11/21 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー