SHOEISHA iD

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

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

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

特集記事

Zend Serverによる高性能PHP環境構築とパフォーマンスチューニングに役立つ監視機能

Zend Server EE 日本語版のパフォーマンスチューニングに役立つ監視機能

 Zend Server CEによって、高性能なPHP環境の構築を体感できたと思います。次にZend Server EE日本語版を使用して、拡張された機能に関して説明します。

 Zend Server EE日本語版は、標準のPHP実行環境では備わっていない重要な機能を補完しています。これらの機能は、PHP実行環境に運用上のアドバンテージを持たせ、大規模運用やクリティカルな業務でも安心して運用できるようにします。本書では、Zend Server EE日本語版が提供する機能の中で、コードトレーシングとモニターとを紹介します。

 これらの機能は、実際のPHP環境でPHPコードがどのように実行されたかを克明に記録します。これらの記録に基づいて、チューニングを実施することによって、ボトルネックをピンポイントで把握できます。さらにチューニングの効果を判定することにも役立ちます。また、運用と共に発生するパフォーマンス劣化を検出し、早期対応に役立てることも可能です。

コードトレーシング

 PHPは、スクリプト言語なので、詳しい実行状況を確認できないと思っていませんか。Zend Server では、コードトレーシング機能によって、ステップ単位にメモリ使用状況と実行時間を表示できます。コードトレーシング機能により、ボトルネックをピンポイントで把握できるだけでなく、チューニングなどの改善策が有効に機能しているか確認できます。

 コードトレーシング機能は、調査対象となるURLを指定するだけで、対象のPHPスクリプトの詳細な調査を行います。後述するモニター機能で、異常が検出された場合にもトレーシング情報を採取して、詳細に検証することができます。

コードトレーシングの結果

 コードトレーシングの結果は、グラフィカルな画面で調査結果を表示します。ステップ単位で、実行時間を表示するので、どの処理ステップで、処理時間を費やしているかが一目で判別できます。

図11 コードトレーシング結果([Tracing Tree]:実行順ツリー表示)
図11 コードトレーシング結果([Tracing Tree]:実行順ツリー表示)

 [Statistics per Function]タブをクリックすると、関数単位で処理時間とメモリ使用量を集計して表示します。関数名別に呼び出された回数や個別の実行時間とメモリ使用量を表示できます。緻密な解析が必要な場合に必須な情報を提供します。

図12 コードトレーシング解析結果([Statistics per Function]:関数別の集計画面)
図12 コードトレーシング解析結果([Statistics per Function]:関数別の集計画面)

メモリ使用量と処理時間を費やしたステップの表示

 コードトレーシング解析結果ページの左上に2つのチェックボックスが配置されています。これらをチェックすると、解析作業やチューニングを支援するために有用な情報を提供します。

 [Show memory usage]は、メモリの使用量を表示します。メモリ使用量を数値とバーグラフで表示するため、直感的にメモリの使用量が多いステップを見つけることができます。

図13 メモリ使用量の表示([Show memory usage])
図13 メモリ使用量の表示([Show memory usage])

 [Highlight most time consuming path]は、時間を消費した処理の流れを黄色で表します。黄色で示された部分を集中的に解析することで、効率よくチューニングが行えます。

図14 処理時間を消費したステップ([Highlight most time consuming path])
図14 処理時間を消費したステップ([Highlight most time consuming path])

次のページ
モニター

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

特集記事連載記事一覧

もっと読む

この記事の著者

ゼンド・ジャパン株式会社(ゼンド・ジャパンカブシキガイシャ)

2001年にZendプロダクト専業の組織として設立。2002年より、独立会社として活動を開始しました。2003年からは、MySQLプロダクトの取扱を開始するなど、Webシステムにフォーカスした製品およびサービスの提供を行っています。LAMPソリューションのサポートサービスでは、SI会社のバックサポー...

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5735 2011/02/15 14:00

イベント

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

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

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

メールバックナンバー