ゼンド・ジャパン株式会社に聞く

岡部 昭洋 氏
ゼンド・ジャパン株式会社
Zend Productsグループ アソシエイツ
岡部 昭洋 氏


佐藤 栄一 氏
ゼンド・ジャパン株式会社
取締役
佐藤 栄一 氏
●Javaアプリケーションを効率的に実行
●企業システムを運用するための監視機能
●大量アクセスに対応するために
●スケーラビリティのコミット

Zend Platform によるPHP環境の強化と拡張

PHPは、優れたWebシステム環境として、全世界のインターネットシーンで最も多く利用されています。小規模なシステムであれば、十分に対応できるポテンシャルを持っています。しかし、大規模システム、大量アクセス、基幹システムで使用するならば、必ず対策を講ずることをお勧めします。導入当初は、ストレスなく動作していても、アクセス集中や処理件数の増加とともに加速度的にレスポンスが低下するでしょう。特にインターネットに接続しているWebサーバは、その懸念が常に存在しています。

■Javaアプリケーションを効率的に実行

PHPは、標準機能として、Javaプログラムを呼び出すことが可能です。しかし、呼び出し毎にJava VMがロードされるのです。そのため、同時に多くのJavaプログラムを呼び出すとシステム資源を圧迫して、応答不能になってしまいます。

Zend Platform の Javaブリッジ機能によって、1つのJava VMのみで、Javaプログラムを呼び出すことが可能です。この機能によって、Java VMの大量常駐によるシステム資源の枯渇を抑止します。

Javaブリッジ機能によって、SVF による帳票処理を複数同時並行して実施することが可能です。Zend Platform の Javaブリッジ機能によって、PHPサーバは企業システムのプラットフォームとしてのポテンシャルを獲得したのです。

■企業システムを運用するための監視機能

Webシステムでは、実行時間が重要な意味を持ちます。WebサーバとWebブラウザは、TCP/IPネットワークで疎結合状態となっています。例えば、Webサーバに処理をリクエストした直後に他のWebページに移動してもリクエストした処理がノーマルに終了すれば、ノーマルエンドです。エラーログに記録されることはありません。逆に実行時間を制限すると、その実行時間制限を超えると実行エラーとなってしまいます。

Zend Platform の PHPインテリジェンス機能は、実行時間をはじめとして様々な事象に対して閾値を設定し、それを超えると詳細なレポートを出力します。出力したレポートは、即座にメールで送信できます。この機能によって、PHPサーバの運用状態を詳細に把握することが可能です。

このレポートは、環境変数や関数のパラメータを記録しているので、デバックや障害対応に役立てることができます。あるお客様では、データベースの異常をこの機能によって把握しました。

■大量アクセスに対応するために

Webシステムでは、大量のアクセスに対応する必要があります。それが、インターネットのコンシューマ向け業務なら極限状態に遭遇することもあります。

そのため、Webシステムは、処理効率を維持してパフォーマンス劣化を回避する必要があります。できるだけ不要な処理や重複する処理を削減することで、ポテンシャルに余裕を持たすことができます。

パフォーマンスツールは、3種類の高速化機能を提供しており、処理内容に応じて高速化機能を選択することができます。あるお客様では、最大860倍の改善をしています。

■スケーラビリティのコミット

処理能力を改善するには、ハードウエアのスペックをUpするか台数を増やすかの2通りがあります。ハードウエアコストが、急激に低下する傾向では、台数を増やして処理を分散する手法が好まれます。

確かにWebサーバの台数を増やすことによって、大幅に処理能力を向上することができます。しかし、台数を増やせば管理コストと障害の発生頻度が増大します。また、1台構成のプログラムを書き換える必要があるかもしれません。Zend Platform は、前述のパフォーマンスツールによって、サーバの処理効率を最大限まで引き上げます。

それでも処理能力が不足して、サーバ台数を2台以上に増強する場合、セッションクラスタリングによって、サーバ間のセッション情報を共有する機能を提供します。この機能にって、当初の1台構成のPHPコードを変更することなく複数構成に移行することが可能です。さらに、セッション情報のクラスタリング化によって、フェールセーフも実現します。