前へ 目次 索引 DocHome 次へ |
iPlanet Application Server パフォーマンスおよびチューニングガイド |
第 1 章 iPlanet Application Server について
iPlanetTM Application Server は、信頼性、可用性、およびスケーラビリティのある Web サービスを配置するプラットフォームを提供します。アプリケーションプログラマは、よく設計されたソフトウェアのコンポーネントを使用してビジネスロジックの実装に専念し、大規模な配置のためのサービスは、iPlanet Application Server に任せることができます。
iPlanet Application Server のコンポーネント
iPlanet Application Server のプロセスアーキテクチャ
iPlanet Application Server のコンポーネント
iPlanet Application Server には、円滑なパフォーマンスのために相互の対話を必要とするさまざまなコンポーネントが含まれています。これらのコンポーネントをチューニングして、運用環境と開発環境のパフォーマンスを最適化できます。
Web コネクタプラグイン
Web コネクタプラグイン
Web サーバインスタンスに接続するために、ダイナミックに読み込まれるライブラリです。受信した HTTP リクエストを、アプリケーションサーバインスタンスの Executive Server (KXS) プロセスにリダイレクトします。
Executive Server (KXS): Web コネクタプラグインから受信した HTTP トラフィックを Java サーバにリダイレクトします。アプリケーションサーバインスタンス間の高可用性セッションやステートデータの複製を管理します。
Java サーバ (KJS): Web コンテナと EJB コンテナが含まれています。
RMI/IIOP ブリッジ (CXS): RMI/IIOP クライアントから受信したリクエストを、Java エンジン (KJS) に配置された EJB コンテナにリダイレクトします。
Administration Server (KAS): ほかのアプリケーションサーバプロセスを監視し、管理ツールや配置ツールのサーバとして機能します。
Directory Server プロセス: 認証と承認に使用するユーザおよびグループについての情報が含まれています。アプリケーションサーバのレジストリ情報を格納する分散ストアとして機能します。
iPlanet Administration Server: iPlanet Console 管理ツールへの接続ポイントとして機能します。このサーバは、アプリケーションサーバが機能するためにアクティブである必要はありません。
データベース
iPlanet Application Server がサポートするデータベースには、Oracle、Sybase、Informix、DB2 などがあります。iPlanet Application Server を使って、データベース用のサードパーティ JDBC ドライバを設定することができます。また、データベースドライバのデータソースとトランザクションマネージャも設定できます。
iPlanet Application Server のプロセスアーキテクチャ
パフォーマンスを最大にするには、iPlanet Application Server の基本プロセスアーキテクチャを理解しておく必要があります。iPlanet Application Server の一般的な配置シナリオは次の図に示すとおりです。この図では、わかりやすくするために 1 台の Web サーバインスタンスから iPlanet Application Server および Directory Server へのトラフィックだけを示しています。この図に示されているように、Web サーバ (厳密には Web コネクタプラグイン) は、iPlanet Application Server クラスタに設定されているすべてのノードに対するリクエストのロードバランスを管理します。複数のインスタンスでクラスタを構成したアーキテクチャでは、ほかのアプリケーションサーバのインスタンスノードの状態を複製することにより、すぐれた水平スケーラビリティと高可用性を提供します。各インスタンスを複数の KJS プロセス (それぞれの KJS プロセスは JVM インスタンス) で設定して、十分なスケーラビリティを達成できます。それぞれの KJS プロセスに複数のスレッドを割り当てると、パフォーマンスが向上します。
次の図で、iPlanet Application Server のすべてのコンポーネントがどのように組み合わされているかを理解できます。この図は、iPlanet Application Server のプロセスアーキテクチャの各部がどのように相互に関連しているか、どのように Web サーバに接続されているか、最終的にユーザにどのように接続されるかを示しています。
図 1-1    iPlanet Application Server のプロセスアーキテクチャ
iPlanet Application Server 内の通信
iPlanet Application Servers は通常、Web サーバ、ディレクトリサーバ、およびクライアントデータベースアプリケーションとともに配置されます。このような場合、プロセス間通信の量が非常に多くなるため、データの統合性とセキュリティの問題が非常に重要になります。アプリケーションサーバ間、Web サーバ間、およびアプリケーションサーバで実行するクライアントアプリケーション間の円滑で安全な通信を確保するために、システムのセキュリティコンポーネントがファイヤウォールによって区切られる場合があります。iPlanet Application Server の基本コンポーネントは Executive Server (KXS) です。Executive Server はアプリケーションのコンポーネントを作成し、セッションごとのデータ、負荷の監視機能、およびロードバランス機能を iPlanet Application Server のほかのインスタンスとともに管理します。
アプリケーションコードは KXS によって作成されるマルチスレッドプロセスで動作します。プロセスには、C++ Server (KCS) と Java Server (KJS) の 2 つの種類があります。
システムは Administration Server (KAS) によって管理されます。Web サーバは、iPlanet Application Server と同じマシンにインストールすることも、別のマシンにインストールすることもできます。一般的なネットワークインストールの場合、Web サーバは別のマシンにインストールされます。
Web サーバとアプリケーションサーバ間の通信には、Web サーバにあるプラグインを使います。アプリケーションサーバの複数のインスタンスがインストールされている場合、プラグインではロードバランスのメカニズムが選択したアプリケーションサーバのインスタンスと通信します。使用している Web サーバがプラグインを使うことができない場合、CGI (Common Gateway Interface) アプリケーションが通信モジュールとして呼び出されることがあります。この CGI アプリケーションが iPlanet Application Server とのコネクションを確立します。だだし CGI モデルは効率的でないので、通常は最後の手段として使われます。
また、OCL (Object Constraint Language) を使う方法もあります。OCL は CORBA を使って必要なサービスを検索し、アプリケーションサーバを介してそれらのサービスと通信します。この方法では、IIOP コネクションについて標準化されたセキュリティが利用できないため、イントラネット用だけにお勧めします。
サーバ、アプリケーション、およびセキュリティプロトコルの間のプロセス間通信は、さまざまな方法で行われます。iPlanet Application Server インスタンス (KXS/KJS/KCS プロセスグループであるアプリケーションサーバインスタンス) 間にファイヤウォールを置くことは可能ですが、お勧めしません。そのようなファイヤウォールを実装する場合は、ファイヤウォールを通過して IP (Internet Protocol) 通信ができる IGMP (Internet Group Management Protocol) を実装する必要があります。
iPlanet Application Server インスタンス間にファイヤウォールを置くことはお勧めしませんが、環境によっては iPlanet Application Server マシン間に IP マルチキャストトラフィックの高速専用ネットワークを実装することをお勧めします。
iPlanet Application Server システムは、LAN の速度で動作するネットワークを対象に設計されています。iPlanet Application Server インスタンスを WAN (Wide Area Network) に分散させると、パフォーマンスに問題が生じることがあります。iPlanet Application Server を使ったファイヤウォールの設定については、『iPlanet Application Server 管理者ガイド』の第 5 章「iPlanet Application Server の保護」を参照してください。
iPlanet Application Server のツール
iPlanet Application Server の管理インタフェースと配置インタフェースは、iPlanet Application Server Administration Tool (iASAT) と iPlanet Application Server Deployment Tool (iASDT) の 2 つのツールを使って管理します。これらのツールについては、次のトピックで説明します。
iPlanet Application Server Administration Tool
iASAT はグラフィカルユーザインタフェースを持つスタンドアロン Java アプリケーションで、1 つまたは複数の iPlanet Application Server インスタンスを管理することができます。多くの場合、管理には、データベースコネクションスレッドの調整やロードバランスパラメータの変更など、パフォーマンスに関連するタスクが含まれます。Administration Tool は、iPlanet Application Server がサポートするどのプラットフォームでも実行することができ、また、ネットワークを介して 1 つまたは複数の iPlanet Application Server インスタンスへ接続することができます。iPlanet Application Server Administration Tool を使って、サーバプロセス、EJB パラメータ、構成済みのデータソースなどをチューニングして、パフォーマンスを向上させることができます。このガイドでは、管理ツールを使用してアプリケーションサーバをチューニングする方法を説明します。
iPlanet Application Server Deployment Tool
iASDT は、グラフィカルユーザインタフェースを持つスタンドアロンの Java アプリケーションであり、次のようなことができます。J2EE アプリケーションコンポーネントは、配置時にそれらのコンポーネントを受け取るコンテナに従って、モジュールにアーカイブされます。J2EE アプリケーションコンポーネントは、.jar 拡張子を持つ EJB JAR モジュールか、または .war 拡張子を持つ Web アプリケーションモジュールにアーカイブすることができます。それぞれのモジュールには J2EE 記述子と iPlanet Application Server 固有の配置記述子があり、XML ファイルに保存されます。
前へ 目次 索引 DocHome 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最新更新日 2002 年 3 月 6 日