![]() | |
Sun Java System Identity Server 2004Q2 管理ガイド |
第 2 章
Identity Server チューニングスクリプトこの章では、Sun JavaTM System Identity Server 2004Q2 向けの amtune チューニングスクリプトについて説明します。この章は、次の節で構成されています。
amtune スクリプトamtune スクリプトにより、Identity Server へ配備したいろいろなコンポーネントのパフォーマンス設定を最適化するだけでなく、Identity Server のパフォーマンスのチューニングもできます。
amtune スプリプトはインタラクティブではありません。つまり、スクリプトを実行する前に、あらかじめ、設定ファイル amtune-env のパラメータを編集し、特定の環境下で実行するチューニングを指定する必要があります。
チューニングを編集するには、amtune-env ファイルのパラメータを編集し、amtune スクリプトを次の形式で実行します。ここで、admin_password は Identity Server Admin Client ユーティリティのパスワードであり、dirmanager_password は、ディレクトリマネージャ (cn=Directory Manager) のパスワードです。
特定のコンポーネントをチューニングする場合、amtune ディレクトリにある、コンポーネントスクリプトを使用できます。コンポーネントスクリプトは、amtune-env ファイルにある関連したパラメータを使用します。利用可能なコンポーネントスクリプトは次のとおりです。
- amntune-as7 - このスクリプトは Sun Java System Application Server 7 Web コンテナのチューニングを行う
- amtune-identity - このスクリプトは Identity Server にインストールされたインスタンスのチューニングを行う
- amtune-os - このスクリプトは Solaris オペレーティングシステムのカーネルと TCP/IP のパラメータのチューニングを行う
- amtune-prepareDSTuner - このスクリプトは、Identity Server をサポートする Directory Server のインスタンスのチューニングを行う。Directory Server のチューニングには特に注意が必要。Identity Server は既存の Directory Server を非排他的に使用しなければならない。Directory Server のインストール先 (ローカルまたはリモート) にかかわらず、amtune を実行しただけでは Directory Server はチューニングされない。このスクリプトを実行すると、/tmp/amtune-directory.tar という名前の tar ファイルができる。展開されたファイルは、デフォルトで /tmp ディレクトリに置かれる。このファイルを、システムの Directory Server を実行中のマシン上で展開し、amtune-directory スクリプトを実行する必要がある
- amntune-ws61 - このスクリプトは Sun Java System Web Server 6.1 Web コンテナのチューニングを行う
たとえば、オペレーティングシステムのチューニングを行う場合には次の形式を使います。
amtune スクリプトファイルと、関連する amtune-env ファイルは次のディレクトリにあります。
IdentityServer_base/SUNWam/bin/amtune (Solaris)
IdentityServer_base/identity/bin/amtune (Linux)
注
本章ではこれ以降、ディレクトリ情報は Solaris についてのみ記します。Linux のディレクトリ構造は異なっていることに注意してください。詳細は、「本書について」を参照してください。
amtune
amtune スクリプトには 2 つの作成モードがあります。1 つは Identitiy Server 配備のチューニングに関する一連の提案を作成するもの、もう 1 つは指定したチューニングを実行するものです。以下に示すモードを amtune-env ファイルの AMTUNE_MODE パラメータで指定できます。
2 つのいずれのモードでも、チューニングの推奨条件と現在の値は amtune ファイルに出力され、またターミナルウィンドウに表示されます。このファイルは、amtune-env ファイルの AMTUNE_DEBUG_FILE_PREFIX パラメータで指定された場所にあります。
amtune-env 設定ファイルのパラメータamtune-env 設定ファイルは、Identity Server 配備のチューニングオプションを規定するパラメータを含んでいます。この節では amtune-env のパラメータについて説明します。
amtune パラメータ
以下に述べるパラメータはコンポーネント固有のチューニングに使用されるものです。
AMTUNE_MODE
このパラメータは次のモードを定義します。
AMTUNE_MODE_OS
このパラメータは Solaris オペレーティングシステムのカーネルと TCP/IP 設定のチューニングを行います。
AMTUNE_MODE_DS
このパラメータは、Identity Server をサポートする Directory Server インスタンスのチューニングを行います。Directory Server のチューニングには特に注意が必要です。Identity Server は既存の Directory Server を非排他的に使用しなければなりません。Directory Server のインストール先 (ローカルまたはリモート) にかかわらず、amtune を実行しただけでは Directory Server はチューニングされません。このスクリプトを実行すると、/tmp/amtune-directory.tar という名前の tar ファイルができます。展開されたファイルは、デフォルトで /tmp ディレクトリに置かれます。このファイルを、システムの Directory Server が実行されているマシン上で展開し、amtune-directory スクリプトを実行する必要があります。
AMTUNE_MODE_WEB_CONTAINER
このパラメータは Identity Server がインストールされている Web コンテナのチューニングを行います。
AMTUNE_MODE_IDENTITY
このパラメータは Identity Server のインストールされたインスタンスのチューニングを行います。
以下に示すパラメータは amtune による処理のすべてで使用します。
AMTUNE_DEBUG_FILE_PREFIX
このパラメータはデバッグファイル名のプレフィックスを定義します。このパラメータに空白以外の値を設定すると、amtune スクリプトが実行したすべての操作がログに記録されます。ログファイルの場所は、AMConfig.properties 内のディレクトリパラメータcom.iplanet.services.debug で設定します。
値を指定しない場合、デバック情報は記録されず、すべての出力は /dev/null ディレクトリへ送られます。
AMTUNE_PCT_MEMORY_TO_USE
このパラメータは、Identity Server が使用できるメモリ量を定義します。現在、Identity Server には 512M バイト必要で、最大 4G バイト使用できます。この 4G バイトは 32 ビットアプリケーションのプロセス当たりのアドレス空間の限界値です。この値を 0 (最小値) にすると、Identity Server は 512M バイトを使うように設定されます。逆に、このパラメータを 100 に設定すると、Identity Server に割り振られる最大メモリ空間は、4G バイトとシステムが利用できるメモリの 100% のうちどちらかの小さいほうになります。以下に示す値は、この設定に基づいてチューニングしたファイルの値です (完全なリストはデバッグファイルを参照)。
Web コンテナの値
server.xml ファイル :
magnus.conf ファイル :
Identity Server AMConfig.properties の値
通知スレッドプールの設定
SDK キャッシュの最大サイズ設定
セッションの設定
AMTUNE_PER_THREAD_STACK_SIZE
このパラメータはスレッドあたりの利用可能なスタック空間を設定します。スレッドあたりのスタックサイズは、Identity Server と Web コンテナの、さまざまなスレッドに関連したパラメータの設定に使用されます。デフォルト値は 128K バイトです。この値は変更しないでください。
AMTUNE_SESSION_MAX_SESSION_TIME_IN_MTS
このパラメータは最大セッション時間を分単位で設定します。デフォルト値は 60 ですが、インストールによって値が異なる場合があります。セッションサービスが登録され、ほかのレベルにカスタマイズされていれば、チューニングは適用されません。
この値が大き過ぎたり、小さ過ぎたりすると、Identitiy Server の配備がサポートできるアクティブユーザーセッションの数が変わってしまうので、チューニング目的ではこのパラメータはオプションとなります。
このパラメータを使用するためには、AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS を false にしてください。
AMTUNE_SESSION_MAX_IDLE_TIME_IN_MTS
このパラメータはセッションの最大アイドルタイムを分単位で設定します。デフォルト値は 10 ですが、インストールによっては値が異なる場合があります。セッションが登録され、ほかのレベルにカスタマイズされていれば、チューニングは適用されません。
この値が大き過ぎたり、小さ過ぎたりすると、Identitiy Server の配備がサポートできるアクティブユーザーセッションの数が変わってしまうので、チューニング目的ではこのパラメータはオプションとなります。
このパラメータを使用するためには、AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS を false にしてください。
AMTUNE_SESSION_MAX_CACHING_TIME_IN_MTS
このパラメータは最大セッションキャッシュ時間を分単位で設定します。デフォルト値は 2 ですが、インストールによっては値が異なる場合があります。セッションサービスが登録され、ほかのレベルにカスタマイズされていれば、チューニングは適用されません。
この値が大き過ぎたり、小さ過ぎたりすると、Identitiy Server の配備がサポートできるアクティブユーザーセッションの数が変わってしまうので、チューニング目的ではこのパラメータはオプションとなります。
このパラメータを使用するためには、必ず、AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS を false にしてください。
インストール環境パラメータ
HOSTNAME
このパラメータは、Identity Server が配備されているシステムのホスト名を定義します。hostname コマンドを使用して現環境のホスト名を取得できない場合は、次の行をコメント行とします。
続いて、行を追加し、正しいホスト名を設定します。次に例を示します。
DOMAINNAME
このパラメータは、Identity Server が配備されているシステムのドメイン名を定義します。domainname コマンドを使用して現環境のドメイン名を取得できない場合は、次の行をコメント行とします。
続いて、行を追加し、正しいドメイン名を設定します。次に例を示します。
IS_CONFIG_DIR
このパラメータはIdentity Server 用の設定ディレクトリを定義します。デフォルトの場所は IdentityServer_base/SUNWam/config です。このパラメータは変更しないでください。
WEB_CONTAINER
このパラメータは、Identity Server が配備されている Web コンテナの名前を定義します。次の値を指定できます。
これら以外の値はすべて検証エラーを起こします。
CONTAINER_BASE_DIR
このパラメータは、Identity Server が配備されている Web コンテナのベースディレクトリを定義します。Web コンテナがデフォルトではない場所にインストールされている場合は、amtune を実行する前にこの値を変更しておきます。
WEB_CONTAINER_INSTANCE_NAME
このパラメータは、Identity Server が配備されている Web コンテナ名のインスタンスを定義します。
Java System Web Server Web コンテナでは、このインスタンス名は、通常、Identity Server のホスト名になります。インスタンス名がホスト名と異なる場合、正しいインスタンス名をここで指定する必要があります。次に例を示します。
この場合は、WEB_CONTAINER_INSTANCE_NAME をそのままにしておけます。
たとえば /opt/SUNWwbsrvr/https-instance1 など、Web Server のインストールの場所が一般的なものとは異なる場合、インスタンスの名前は instance1 となります。
Application Server Web コンテナでは、インスタンスの名前は通常、server1 です。次に例を示します。
この場合、インスタンス名はインストール場所を示す値の最後の部分で、server1 となります。
たとえば /var/opt/SUNWappserver7/domains/domain1/server-identity-ssl など、Application Server のインストール場所が一般的なものと異なる場合、インスタンスの名前はserver-identity-ssl となります。
IS_INSTANCE_NAME
このパラメータは Identity Server インストールのプロパティファイル名を決めるために使用されます。同一のマシン内で Identity Server の複数のインスタンスを配備することが可能ですが、通常は各 Indentity Server インスタンスに一連のプロパティファイルが存在し、インスタンス名がファイル名に付加されます。
マシン上の Identity Server のインスタンスが 1 個だけの場合は、インスタンス名はファイル名に付加されません。
たとえば、Web Server のデフォルトインスタンスの下で実行される Identity Server のインスタンスが 1 つある場合があります。
Identity Server が server.example.com というマシンにインストールされていると、Web Server の最初のインスタンスは https-server.example.com となります。最初の Identity Server インスタンスのプロパティファイルにはインスタンス名が付加されません (たとえば、AMConfig.properties)。
複数のインスタンスがある場合は、それぞれ異なった名前が付きます。たとえば、Web Server に 3 個のインスタンスがあるとします。Web Server インスタンスは、それぞれ server.example.com-instance1、server.example.com-instance2、server.example.com-instance3 とします。Identity Server の 3 個のインスタンスが (コンテナインスタンスごとに) 配備されたとすると、Identity Server のプライマリプロパティファイル (通常は、AMConfig.properties) は次のようになります。
IS_INSTANCE_NAME=instance1 と指定できます。この場合 amtune はプロパティファイル名を次の順序で決定します。
このツールは、この中で最初に使用可能なプロパティファイルを見つけ使用します。
Web コンテナに関しては、Web コンテナインスタンスの設定を行う server.xml ファイルの中でインスタンス名を明示しなければなりません。次に例を示します。
<JVMOPTIONS>-Dserver.name=instance1</JVMOPTIONS>
CONTAINER_INSTANCE_DIR
このパラメータは、Identity Server が配備されている コンテナインスタンスのベースディレクトリを定義します。Web コンテナがデフォルト以外の場所にインストールされている場合は、amtune を実行する前にこの値を変更しておきます。
Directory Server パラメータ
DIRMGR_UID
このパラメータは ディレクトリマネージャのユーザー ID を定義します。ユーザー ID をデフォルトの値 (cn=Directory Manager) から変更する場合、このパラメータの値も変更する必要があります。
DEFALUT_ORG_PEOPLE_CONTAINER
このパラメータは Identity Server インスタンスのデフォルトピープルコンテナの場所を最上位レベルの組織の下に定義します。この値は、LDAP 認証サービスのための検索ベースのチューニングに使用します。検索範囲もオブジェクトレベルに変更され、デフォルトの検索範囲はサブツリーレベルとなります。デフォルトの組織にサブ組織がない場合に、このパラメータは有用です。値の指定がない場合は、チューニングはスキップされます。