exteNd Application Server 5.0
繧ウ繧「繝倥Ν繝�

 

    First Previous Next Last 管理ガイド  05/21/03 10:02:24 

第11章    サーバの調整

この章では、システムのパフォーマンスおよび効率的操作全体に影響するサーバパラメータを管理するために、SMCを使用する方法について説明します。この章を構成する節は次のとおりです。

 
Top of page

パフォーマンスパラメータの設定

パフォーマンスを向上させるには、SMCを使用して、バッファサイズおよびサーバタイムアウトパラメータを設定できます。

Procedure パフォーマンスパラメータを設定する

  1. SMCを開始します。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Advanced]を選択します。

  4. Performance]タブを選択します。

    performanceTab

  5. 必要に応じて設定を編集します。

    フィールド

    説明

    Timeout on server request

    要求を受け取った瞬間から応答を返すまで、クライアント要求を処理するための最大合計サーバサイド時間。これにより、サーバは持続的問題が発生した場合にタイムアウトできます。

    この値は、最大予測サーバ応答時間より大幅に長く設定する必要があります。

    Session timeout

    クライアントがアイドルになった後、サーバがクライアントとのセッションを終了するまでの時間。デフォルト値は5分です。

    セッションタイムアウト値は、セッションのオブジェクト変数が維持される長さに影響します。タイムアウトが長いほど、サーバに消費されるセッション用のメモリが大きくなります。セッションオブジェクトを使用しない配備済みのアプリケーションでは、短いセッションタイムアウトを使用できますが、この値は4分以下に減らさないでください。

    Buffering reply size

    大きな応答が収集、コピー、およびクライアントに返送されるパケットのサイズ(バイト)。

    大きなサイズに設定するとパフォーマンスは向上しますが、使用できるサーバの物理的なメモリおよびクライアント接続数によって、8KBまたは16KBにサイズを制限することをお勧めします。

    Keep alive enabled

    オンにすると、クライアント接続は、サーバへの追加クライアント要求に再使用できます。

    サーバは、TCP/IPプロトコルでクライアント要求を受け入れるHTTPリスナを使用します。サーバは、クライアントのTCP/IP接続を処理する特定数のスレッドを持つように設定されます( クライアント接続の管理を参照してください)。

    • 新しいTCP/IP要求の処理後、[Keep alive enabled]がオンになっている(true)場合、サーバは同じクライアントのTCP/IP接続から次のクライアント要求を読み取ります。

    • 新しいTCP/IP要求の処理後、[Keep alive enabled]が無効になりと、サーバはクライアントのTCP/IP要求を閉じます。

  6. Update]をクリックします。

  7. 新しい設定を有効にするには、[Restart](サーバ) ボタンをクリックします。

 
Top of page

クライアント接続の管理

この節では、サーバでクライアント接続を確立する方法、およびパフォーマンス向上のために接続パラメータを修正する方法について説明します。

注記:   クライアント接続は、データベース接続とは異なります。データベース接続については、 データベース接続の管理で説明します。

 
Top of section

クライアントセッションおよびスレッド

クライアントが最初にHTTP経由でサーバと接続するとき、サーバは接続プールから「スレッド」(使用できる場合)を割り当てることにより、接続を確立します。

スレッドについて

スレッドは、次のことを行うライトウェイトバックグランドプロセスです。

スレッドは、クライアントまたはサーバが閉じるまで、クライアント接続と関連付けられます。サーバは、設定が可能な接続パラメータに従い、接続を閉じます。接続が閉じられると、スレッドはクライアント接続プールに戻されます。

セッションオブジェクトについて

セッション」は、次のことを行うサーバ上のオブジェクトです。

サーバセッションとのクライアント接続および関連スレッドは、次の図のとおりです。

SessionThread

 
Top of section

クライアント接続パラメータ

アプリケーションサーバは、合計許容クライアント接続数(スレッド)を制限しています。運用環境でサーバロードを管理するため、この割り当て内で接続パラメータを修正できます。サーバは、個々の接続状況およびロード全体の観点から、クライアント接続を定義します。

接続状況

Each client connection (スレッド)の状況は次のうちいずれかです。

セッションタイムアウト期間中にスレッドがアイドルになっていると、アプリケーションサーバは接続を閉じて、接続プールにスレッドを戻します。タイムアウト期間を設定できます。 パフォーマンスパラメータの設定を参照してください。

スレッドは通常、次のライフサイクルを持ちます。

ThreadLifecycle

ロードレベル

サーバは、次の2つのロードレベルを持ちます。lightおよびbusy。新しい接続が要求されたとき、ロードレベルによって動作が異なります。

ロードレベルに基づくアプリケーションサーバの動作   サーバが新しい接続の要求を受け取ると、次のことが起こります。

  1. サーバに新しい接続が要求されます。

  2. アプリケーションサーバは、ロードレベルに基づいて次のように応答します。

    ロードレベル

    アプリケーションサーバで行われること

    Light

    新しい要求はフリースレッドに割り当てられます。

    アクティブな接続がアイドルになった場合は、タイムアウトになるまで開かれています。

    Busy

    サーバは、古いアイドル接続を閉じ(可能であれば、サーバを lightロードレベルにするに十分なだけ)、スレッドを接続プールに戻してから、フリースレッドを新しい要求に割り当てます。

    アイドル接続がない場合(許容接続数のすべてがアクティブな場合)、動的に割り当てられるクライアント接続を許可するようサーバを設定しない限り、新しい要求は拒否されます( 接続パラメータの設定を参照)。

ロードレベル決定方法の指定   ロードがlightまたはbusyか、サーバがSMCを使用して決定する方法を指定できます。次の説明で、太字の用語はSMCのプロパティのラベルを指します。

接続パラメータの設定

SMCで接続パラメータを設定できます。

Procedure クライアント接続パラメータを設定するには

  1. SMCを開始します。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Connections]を選択します。

    connectionsTab

  4. 次のように設定を指定します。

    フィールド

    説明およびガイドライン

    Maximum number of client connections

    クライアント接続プールの最大接続数を決定します。ハード制限です。

    ガイドライン — 次のように設定します

      同時セッションの最大数 + 10 %
    

    (1セッションに1つのアクティブ接続があることを前提とします。)

    このパラメータの設定が高すぎると、システムリソースがアプリケーションサーバに過剰消費される可能性があります。設定が低すぎると、接続が拒否される場合があります。ピークサーバロードがクライアント接続プールサイズを超えても、クライアント要求の着信をドロップしたくない場合は、サーバプロパティを[Dynamically Allocated Client Connections]に設定できます(次を参照)。

    デフォルト値

    • Developer edition — 20

    • Workgroup edition — 25

    • Enterprise edition — 250

    Free client connections before reclaiming idle

    空き接続数がこの値より低いとき、アプリケーションサーバはアイドルクライアントのブロックを確保します。

    ガイドライン — 次のように設定します

      0.2 * クライアント接続の最大数
    

    デフォルト値

    • Developer edition — 4

    • Workgroup edition — 5

    • Enterprise edition — 50

    Free client connections for light

    アプリケーションサーバのロードレベルを決定します。空き接続数がこの値より低いとき、アプリケーションサーバのロードレベルはbusyです。

    ガイドライン — 次のように設定します

      0.8 * クライアント接続の最大数
    

    デフォルト値

    • Developer edition — 16

    • Workgroup edition — 125

    • Enterprise edition — 200

    Idle client connection reserve

    アイドルクライアント接続数がこの値より大きいとき、アプリケーションサーバのロードはlightです。

    アプリケーションが、インターネットアプリケーションなどの安定したユーザロードを持っている場合は、この値を低く設定します。低い設定は、アプリケーションのロードが常にlightであり、アイドル接続は長く維持されて、既存ユーザは接続を長く維持できることを意味します。

    インターネットアプリケーション(ユーザのロードは大幅に異なる可能性があります)には、比較的高く設定し、新しいユーザが接続できるようにします。アイドル接続はより素早く終了します。

    ガイドライン — 次のように設定します

      0.5* クライアント接続の最大数
    

    デフォルト値

    • Developer edition — 10

    • Workgroup edition — 12

    • Enterprise edition — 125

    Dynamically allocated client connections

    クライアントスレッドの動的作成をアプリケーションサーバに許可します。動的に割り当てられたスレッドは、ピークアプリケーションサーバロードがクライアント接続プールのサイズを超えた場合にクッションを提供します。オフピーク期間にはシステムリソースを使い果たしません。

    ガイドライン

    • この値は設定しないでください — ピーク使用期間中に十分なスレッドがあるように[Maximum Number of Client Connections]を設定します。設定を怠ると、接続要求がドロップされることがあります。オフピーク期間中、余分なスレッドはアプリケーションサーバのリソースを使用します。

    • この値の設定 —[Maximum Number of Client Connections]の値をピークサイズより低く、オフピーク時間中に処理される同時要求の通常数より少し大きく設定して、ピーク使用を処理できるように[Dynamically Allocated Client Connections]を設定します。

      これは、ほとんどの場合にプールは追加スレッド割り当てを必要とせずにすべての要求を処理でき、スレッドはトラフィックピークを処理するために動的に割り当てられることを意味します。この値を超えるとアプリケーションサーバは着信要求をドロップするため、アプリケーションサーバは[Dynamically Allocated Client Connections]によるDenial-of-Service攻撃から保護されます。

  5. Update]をクリックします。

    新しい設定は即座に有効になります。

 
Top of page

サーバコンテンツキャッシュの管理

アプリケーションサーバは、リソースの名前付けおよび属性情報を含め、さまざまな目的にサーバサードキャッシュを使用します。アプリケーションサーバは、メモリまたはディスクのファイルリソースコンテンツも保存(またはキャッシュ)できます。キャッシュは、パフォーマンスに影響する以外は、ユーザにほとんど見えません。

2つのキャッシュ

各アプリケーションサーバに、次の2つのキャッシュが個別にあります。

キャッシュ

説明

メモリキャッシュ

このキャッシュはメモリに完全に含まれており、小さなファイルを対象とします。

ディスクキャッシュ

このキャッシュはディスクにあり、大きなファイルを対象とします。

設定できる内容

各キャッシュでは、次の2つの設定を設定できます。

設定

説明

最大コンテンツサイズ

キャッシュに含められる個別ファイルの最大サイズ

最大キャッシュサイズ

キャッシュ自体の最大サイズ(すべてのキャッシュ内ファイルの合計サイズ)

ディスクキャッシュに使用されるディレクトリも指定できます。

アプリケーションサーバのキャッシュ使用方法

アプリケーションサーバは、ファイルサイズに基づいて、各ファイルに最適なキャッシュを使用します。小さなファイルはメモリキャッシュに保存され、大きなファイルはディスクキャッシュに保存されます。非常に大きなファイルはキャッシュされません。サーバは、各キャッシュ内のLRU (もっとも以前に使用された)アルゴリズムを使用して、キャッシュがいっぱいになると古い(最近使用されていない)ファイルを処分します。

Procedure キャシュ設定を設定する

  1. SMCを開始します。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Advanced]オプションを選択します。

  4. [Cache]タブを選択します。

    次のパネルが表示されます。

    cacheTab

  5. 次のように設定を指定します。

    フィールド

    説明

    Content Cache Enabled

    コンテンツキャッシュを有効または無効にします。チェックしないと、すべてのコンテンツキャッシュがオフになります。

    頻繁に要求されるファイルリソースをキャッシュすると、リソースの応答時間が向上します。デバッギング目的でのみオフにします。

    Maximum size of the disk cache

    バイトで表示したディスクキャッシュの最大サイズ。すべてのキャッシュ内ファイルの合計サイズは、常にこれ以下またはこれに等しくなります。0に設定すると、ディスクキャッシュは無効になります。

    一般にこのキャッシュは、メモリ内キャッシュサイズを決定した後に、頻繁に使用されるファイルの残りを保存するのに十分なだけ大きくします(下の Maximum size of the in-memory cacheの説明を参照)。

    Maximum size of any file that will be cached in the disk cache

    ディスクキャッシュでキャッシュされるファイルのバイトで表示された最大サイズ。

    サイズがこれ以下またはこれに等しくても、メモリ内キャッシュには大きすぎるファイルは、ディスクキャッシュでキャッシュされます。このサイズより大きなファイルはキャッシュされません。

    Maximum size of the in-memory cache

    バイトで表示したメモリ内キャッシュの最大サイズ。すべてのキャッシュ内ファイルの合計サイズは、常にこれ以下またはこれに等しくなります。0に設定すると、メモリ内キャッシュを無効にできます。

    一般に、システムにページアクティビティ過多を起こさないできるだけ大きなサイズにします。

    Maximum size of any file that will be cached in the in-memory cache

    メモリ内キャッシュでキャッシュされるファイルのバイトで表示された最大サイズ。サイズがこれ以下またはこれに等しいファイルは、メモリ内キャッシュでキャッシュされます。

    Directory for disk cache entries

    ディスクキャッシュエントリが保存されているディレクトリ。デフォルトでは、アプリケーションサーバのインストールディレクトリのサブディレクトリです。

    存在しない場合、サーバはこのディレクトリを作成しようとします。サーバは、起動時にこのディレクトリからキャッシュファイルをすべて消去しようとします (キャッシュ専用ディレクトリを用意します)。

    サーバがこのディレクトリを見つけられないまたは作成できない場合、ディスクキャッシュは無効になります。

  6. [Update]をクリックします。

    新しい設定は即座に有効になります。

 
Top of page

接続プールの管理

この節では、次のトピックについて説明します。

 
Top of section

接続プールの接続について

アプリケーションサーバは、接続プールを使用して、J2EEアプリケーションおよびデータソース間のすべての接続を処理します。接続プールの接続は通常、JDBCまたはRARを介してアプリケーションサーバおよびデータソース間に確立されたTCP/IP接続です。

ほとんどのデータベースまたはEISサーバは、同時に開ける通信数を制限します。SMCを使用して、アプリケーションサーバに使用される最小(初期)および最大接続数を各データソースに設定できます。

最高のパフォーマンスを得るには、通常、設定するオープンデータソース接続の最大数が、データソースを同時にクエリまたは更新する最大ユーザ数に等しくなります。

正しい接続数の決定

小さすぎる最大数を設定した場合、パフォーマンスが低下する可能性があります。すべての接続が使用中のときに、クライアントがデータソースにアクセスしようとすると、進行中のクエリまたは更新が完了するまで、クライアントはブロックされます。異なる最大設定を試してみて、サーバパフォーマンスを最適化します。

アプリケーションサーバから独立して、他のアプリケーションがデータソースサーバへの接続を確立している場合は、オープンアプリケーションサーバ接続の最大数を減らして、データソースへのアクセスが必要なすべてのプロセスがデータソースに接続できるようにする必要があります。

DBMSまたはEISドキュメントを参照して、データソースにアクセスする他のアプリケーションを考慮に入れ、SMCで指定されたクライアント接続数を受け入れるようにデータソースが設定されていることを確認します。

 
Top of section

接続プールの接続数の設定

SMCの[Pools]タブを使用して、次のJDBCおよびConnector接続プールを管理できます。

各接続プールに値を指定します。

Procedure 接続プール設定を更新する

  1. SMCを開始します。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Pools]を選択します。

  4. Connector]または[JDBC]を選択して、使用できる接続プールを表示します。

  5. 接続値を修正する接続プールを選択して、[Edit]を選択します。

    tunconpool

    [JDBC Edit Connection Pool Wizard]が表示されます。

    接続プールのさまざまな設定を表示できますが、更新できるのは最小および最大接続値と接続プールタイムアウト値のみです。

  6. Next]を選択して、次に示す最小および最大接続値を表示するパネルに達するまでウィザードを進みます。

    tunconpoolvalues

    フィールド

    説明

    Minimum Connections

    接続プールのデフォルト最小接続数。アプリケーションサーバは、起動すると即座にこの数の接続を確立して、サーバを実行している限りオープンのままにします。

    注記:   データソースがクラッシュして再起動した場合、アプリケーションサーバは古い接続をドロップして、必要に応じ新しい接続を再確立します。最少接続数として指定されたものは即座に確立されません。

    Maximum Connections

    接続プールのデフォルト最大接続数。アプリケーションサーバは、オンデマンドの接続をこの数までオープンします。

    オープンアプリケーションサーバ接続の最大数が、EISに許可される合計数以下または合計数と等しいことを確認します。それ以外の場合、アプリケーションサーバは、接続を開こうとするとデータソースサーバからエラーを返されます。

    Idle Connection Timeout

    アイドルタイムアウト(秒)。デフォルトは60秒です。-1に設定すると、アイドルタイムアウトが無効になり、アイドル接続は閉じられなくなります。

    Connection Wait Timeout

    接続待機タイムアウト(秒)。デフォルトは30秒です。-1に設定すると、クライアントでは、接続が使用可能になるまで待機しなければなりません。

    Log Level

    レベルは次のとおりです。

    0 — ログ出力がオフになっている

    1 — 基本的な接続プール操作をログ出力する

    2 — レベル1 + より詳細な操作とエラーメッセージ

    3 — レベル2 + JDBCドライバまたはコネクタリソースアダプタによって生成された例外スタックトレースとトレース出力

    メッセージは、サーバコンソールに書き込まれます。

  7. Update]をクリックします。

  8. 新しい設定を有効にするには、[Restart]ボタンをクリックします。

 
Top of page

データベース接続の管理

この節では、次のトピックについて説明します。

 
Top of section

データベース接続およびパフォーマンスについて

アプリケーションサーバは、クライアントおよび配備データベース間のすべての接続を処理します。各データベース接続は通常、JDBCを介してアプリケーションサーバおよびデータベースサーバ間で確立されるTCP/IP接続です。

ほとんどのデータベースサーバは、同時に開けるデータベース接続数を制限します。SMCを使用して、アプリケーションサーバに使用される最小(初期)および最大接続数を各データベースに設定できます。

通常、設定するオープン配備データベース接続の最大数は、データベースを同時にクエリまたは更新するユーザの最大数に等しくなります。

正しい最大接続数の決定

小さすぎる最大数を設定した場合、パフォーマンスが低下する可能性があります。すべての接続が使用中のときに、クライアントがデータベースにアクセスしようとすると、進行中のクエリまたは更新が完了するまで、クライアントはブロックされます。異なる最大設定を試してみて、サーバパフォーマンスを最適化します。

他のデータベースユーザがアプリケーションサーバから独立したデータベースサーバへの接続を確立する場合は、オープン接続の最大数を減らす必要があります。これにより、アプリケーションサーバユーザ以外のユーザがデータベース接続を使用できます。

DBMSドキュメントを参照して、データベースにアクセスする他のアプリケーションを考慮に入れ、SMCで指定されたクライアント接続数を受け入れるようにデータベースが設定されていることを確認します。

MaxConnections

 
Top of section

最大および最小データベース接続数の設定

デフォルトの最大および最小データベース接続数や特定データベースの接続数を設定できます。SMCの[Databases]パネルで設定します。

デフォルト接続数の設定

デフォルトの最小および最大データベース接続数を設定できます。値は次のものに使用されます。

注記:   特定のデータベースのデフォルトを上書きするには、 特定データベースの接続数の設定を参照してください。

Procedure デフォルトの最大および最小データベース接続数を設定するには

  1. SMCを開始します。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Databases]を選択します。

    databasesPanel

  4. 必要に応じて、パネル上部のフィールドを編集します。

    フィールド

    説明

    Min # of database connections (すべてのデータベースの適用)

    データベースのデフォルト最小接続数。アプリケーションサーバは、起動すると即座にこの数の接続を確立して、サーバを実行している限りオープンのままにします。

    注記:   データベースがクラッシュして再起動した場合、アプリケーションサーバは古い接続をドロップして、必要に応じ新しい接続を再確立します。最少接続数として指定されたものは即座に確立されません。

    Max # of database connections (すべてのデータベースに適用)

    データベースのデフォルト最大接続数。アプリケーションサーバは、オンデマンドの接続をこの数までオープンします。

    オープン接続の最大数が、データベースサーバに許可される合計数以下または合計数と等しいことを確認します。それ以外の場合、アプリケーションサーバは、接続を開こうとするとデータベースサーバからエラーを返されます。

    For more information    詳細については、 データベース接続およびパフォーマンスについてを参照してください。

  5. Update]をクリックします。

デフォルトの再設定

デフォルトの最小および最大データベース接続数を再設定できます。サーバのすべてのデータベースに適用されます。

Procedure デフォルトを再設定するには

特定データベースの接続数の設定

特定のデータベースのデフォルトデータベース接続数を上書きできます。

Procedure 特定のデータベースのデフォルト最小/最大接続を上書きするには

  1. SMCを開始します。

  2. ツールバーから[Configuration]アイコンを選択します。

  3. Databases]を選択します。

  4. リストボックス([Database]設定の下)から設定するデータベースを選択します。

    DatabasesPanelNewValues

  5. データベース名の下にある次のフィールドを編集することにより、特定のデータベースの最小および最大データベース接続数を設定します。

    フィールド

    説明

    Minimum Connections

    アプリケーションサーバは、起動すると即座にこの数の接続を確立して、サーバを実行している限りオープンのままにします。ここで値を設定すると、デフォルト値が上書きされます。

    注記:   データベースがクラッシュして再起動した場合、アプリケーションサーバは古い接続をドロップして、必要に応じ新しい接続を再確立します。最少接続数として指定されたものは即座に確立されません。

    Maximum Connections

    アプリケーションサーバは、オンデマンドの追加接続をこの数までオープンします。ここで値を設定すると、デフォルト値が上書きされます。

    オープン接続の最大数が、データベースサーバに許可される合計数以下または合計数と等しいことを確認します。それ以外の場合、アプリケーションサーバは、接続を開こうとするとデータベースサーバからエラーを返されます。

    For more information    詳細については、 データベース接続およびパフォーマンスについてを参照してください。

  6. Update]をクリックします。

Restoring the values to the defaults

特定のデータベースの最小または最大接続数をデフォルト値にリセットできます。

Procedure 最小/最大接続をデフォルトに復元する

  1. リストボックスから設定するデータベースを選択します。

  2. 選択したデータベースの[Minimum Connections]または[Maximum Connections]の横にある[Reset]をクリックします。

    resetDBsingle

    最小または最大接続数は、デフォルト値(パネル上部に表示)にリセットされます。

    First Previous Next Last 管理ガイド  05/21/03 10:02:24 

Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.