|
管理ガイド 05/21/03 10:02:24 |
この章では、システムのパフォーマンスおよび効率的操作全体に影響するサーバパラメータを管理するために、SMCを使用する方法について説明します。この章を構成する節は次のとおりです。
パフォーマンスを向上させるには、SMCを使用して、バッファサイズおよびサーバタイムアウトパラメータを設定できます。
|
フィールド |
説明 |
|---|---|
|
Timeout on server request |
要求を受け取った瞬間から応答を返すまで、クライアント要求を処理するための最大合計サーバサイド時間。これにより、サーバは持続的問題が発生した場合にタイムアウトできます。 この値は、最大予測サーバ応答時間より大幅に長く設定する必要があります。 |
|
Session timeout |
クライアントがアイドルになった後、サーバがクライアントとのセッションを終了するまでの時間。デフォルト値は5分です。 セッションタイムアウト値は、セッションのオブジェクト変数が維持される長さに影響します。タイムアウトが長いほど、サーバに消費されるセッション用のメモリが大きくなります。セッションオブジェクトを使用しない配備済みのアプリケーションでは、短いセッションタイムアウトを使用できますが、この値は4分以下に減らさないでください。 |
|
Buffering reply size |
大きな応答が収集、コピー、およびクライアントに返送されるパケットのサイズ(バイト)。 大きなサイズに設定するとパフォーマンスは向上しますが、使用できるサーバの物理的なメモリおよびクライアント接続数によって、8KBまたは16KBにサイズを制限することをお勧めします。 |
|
Keep alive enabled |
オンにすると、クライアント接続は、サーバへの追加クライアント要求に再使用できます。 サーバは、TCP/IPプロトコルでクライアント要求を受け入れるHTTPリスナを使用します。サーバは、クライアントのTCP/IP接続を処理する特定数のスレッドを持つように設定されます( クライアント接続の管理を参照してください)。 |
この節では、サーバでクライアント接続を確立する方法、およびパフォーマンス向上のために接続パラメータを修正する方法について説明します。
注記: クライアント接続は、データベース接続とは異なります。データベース接続については、 データベース接続の管理で説明します。
クライアントが最初にHTTP経由でサーバと接続するとき、サーバは接続プールから「スレッド」(使用できる場合)を割り当てることにより、接続を確立します。
スレッドは、次のことを行うライトウェイトバックグランドプロセスです。
スレッドは、クライアントまたはサーバが閉じるまで、クライアント接続と関連付けられます。サーバは、設定が可能な接続パラメータに従い、接続を閉じます。接続が閉じられると、スレッドはクライアント接続プールに戻されます。
「セッション」は、次のことを行うサーバ上のオブジェクトです。
クライアントのセッションオブジェクトにプログラム上含まれているアプリケーションデータを保存します(各クライアントの購入および他の情報を途中で保存する必要があるショッピングカートアプリケーションなど)。
すべてのスレッドがプールに戻された後、指定された期間(セッションタイムアウト期間)は接続されています (セッションに関連するクライアントスレッドが複数の場合もあります)。これにより、クライアントは指定した期間内にセッションに再接続できます。デフォルトタイムアウトは5分です。セッションオブジェクトがサーバに削除されると、コンテンツは失われます。
サーバセッションとのクライアント接続および関連スレッドは、次の図のとおりです。
アプリケーションサーバは、合計許容クライアント接続数(スレッド)を制限しています。運用環境でサーバロードを管理するため、この割り当て内で接続パラメータを修正できます。サーバは、個々の接続状況およびロード全体の観点から、クライアント接続を定義します。
Each client connection (スレッド)の状況は次のうちいずれかです。
セッションタイムアウト期間中にスレッドがアイドルになっていると、アプリケーションサーバは接続を閉じて、接続プールにスレッドを戻します。タイムアウト期間を設定できます。 パフォーマンスパラメータの設定を参照してください。
サーバは、次の2つのロードレベルを持ちます。lightおよびbusy。新しい接続が要求されたとき、ロードレベルによって動作が異なります。
ロードレベルに基づくアプリケーションサーバの動作 サーバが新しい接続の要求を受け取ると、次のことが起こります。
アプリケーションサーバは、ロードレベルに基づいて次のように応答します。
|
ロードレベル |
アプリケーションサーバで行われること |
|---|---|
|
Light |
新しい要求はフリースレッドに割り当てられます。 アクティブな接続がアイドルになった場合は、タイムアウトになるまで開かれています。 |
|
Busy |
サーバは、古いアイドル接続を閉じ(可能であれば、サーバを lightロードレベルにするに十分なだけ)、スレッドを接続プールに戻してから、フリースレッドを新しい要求に割り当てます。 アイドル接続がない場合(許容接続数のすべてがアクティブな場合)、動的に割り当てられるクライアント接続を許可するようサーバを設定しない限り、新しい要求は拒否されます( 接続パラメータの設定を参照)。 |
ロードレベル決定方法の指定 ロードがlightまたはbusyか、サーバがSMCを使用して決定する方法を指定できます。次の説明で、太字の用語はSMCのプロパティのラベルを指します。
新しい設定は即座に有効になります。
アプリケーションサーバは、リソースの名前付けおよび属性情報を含め、さまざまな目的にサーバサードキャッシュを使用します。アプリケーションサーバは、メモリまたはディスクのファイルリソースコンテンツも保存(またはキャッシュ)できます。キャッシュは、パフォーマンスに影響する以外は、ユーザにほとんど見えません。
各アプリケーションサーバに、次の2つのキャッシュが個別にあります。
|
キャッシュ |
説明 |
|---|---|
|
メモリキャッシュ |
このキャッシュはメモリに完全に含まれており、小さなファイルを対象とします。 |
|
ディスクキャッシュ |
このキャッシュはディスクにあり、大きなファイルを対象とします。 |
|
設定 |
説明 |
|---|---|
|
最大コンテンツサイズ |
キャッシュに含められる個別ファイルの最大サイズ |
|
最大キャッシュサイズ |
キャッシュ自体の最大サイズ(すべてのキャッシュ内ファイルの合計サイズ) |
アプリケーションサーバは、ファイルサイズに基づいて、各ファイルに最適なキャッシュを使用します。小さなファイルはメモリキャッシュに保存され、大きなファイルはディスクキャッシュに保存されます。非常に大きなファイルはキャッシュされません。サーバは、各キャッシュ内のLRU (もっとも以前に使用された)アルゴリズムを使用して、キャッシュがいっぱいになると古い(最近使用されていない)ファイルを処分します。
次のパネルが表示されます。
|
フィールド |
説明 |
|---|---|
|
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 |
ディスクキャッシュエントリが保存されているディレクトリ。デフォルトでは、アプリケーションサーバのインストールディレクトリのサブディレクトリです。 存在しない場合、サーバはこのディレクトリを作成しようとします。サーバは、起動時にこのディレクトリからキャッシュファイルをすべて消去しようとします (キャッシュ専用ディレクトリを用意します)。 サーバがこのディレクトリを見つけられないまたは作成できない場合、ディスクキャッシュは無効になります。 |
新しい設定は即座に有効になります。
アプリケーションサーバは、接続プールを使用して、J2EEアプリケーションおよびデータソース間のすべての接続を処理します。接続プールの接続は通常、JDBCまたはRARを介してアプリケーションサーバおよびデータソース間に確立されたTCP/IP接続です。
ほとんどのデータベースまたはEISサーバは、同時に開ける通信数を制限します。SMCを使用して、アプリケーションサーバに使用される最小(初期)および最大接続数を各データソースに設定できます。
最高のパフォーマンスを得るには、通常、設定するオープンデータソース接続の最大数が、データソースを同時にクエリまたは更新する最大ユーザ数に等しくなります。
小さすぎる最大数を設定した場合、パフォーマンスが低下する可能性があります。すべての接続が使用中のときに、クライアントがデータソースにアクセスしようとすると、進行中のクエリまたは更新が完了するまで、クライアントはブロックされます。異なる最大設定を試してみて、サーバパフォーマンスを最適化します。
アプリケーションサーバから独立して、他のアプリケーションがデータソースサーバへの接続を確立している場合は、オープンアプリケーションサーバ接続の最大数を減らして、データソースへのアクセスが必要なすべてのプロセスがデータソースに接続できるようにする必要があります。
DBMSまたはEISドキュメントを参照して、データソースにアクセスする他のアプリケーションを考慮に入れ、SMCで指定されたクライアント接続数を受け入れるようにデータソースが設定されていることを確認します。
SMCの[Pools]タブを使用して、次のJDBCおよびConnector接続プールを管理できます。
接続値を修正する接続プールを選択して、[Edit]を選択します。
[JDBC Edit Connection Pool Wizard]が表示されます。
接続プールのさまざまな設定を表示できますが、更新できるのは最小および最大接続値と接続プールタイムアウト値のみです。
[Next]を選択して、次に示す最小および最大接続値を表示するパネルに達するまでウィザードを進みます。
アプリケーションサーバは、クライアントおよび配備データベース間のすべての接続を処理します。各データベース接続は通常、JDBCを介してアプリケーションサーバおよびデータベースサーバ間で確立されるTCP/IP接続です。
ほとんどのデータベースサーバは、同時に開けるデータベース接続数を制限します。SMCを使用して、アプリケーションサーバに使用される最小(初期)および最大接続数を各データベースに設定できます。
通常、設定するオープン配備データベース接続の最大数は、データベースを同時にクエリまたは更新するユーザの最大数に等しくなります。
小さすぎる最大数を設定した場合、パフォーマンスが低下する可能性があります。すべての接続が使用中のときに、クライアントがデータベースにアクセスしようとすると、進行中のクエリまたは更新が完了するまで、クライアントはブロックされます。異なる最大設定を試してみて、サーバパフォーマンスを最適化します。
他のデータベースユーザがアプリケーションサーバから独立したデータベースサーバへの接続を確立する場合は、オープン接続の最大数を減らす必要があります。これにより、アプリケーションサーバユーザ以外のユーザがデータベース接続を使用できます。
DBMSドキュメントを参照して、データベースにアクセスする他のアプリケーションを考慮に入れ、SMCで指定されたクライアント接続数を受け入れるようにデータベースが設定されていることを確認します。
デフォルトの最大および最小データベース接続数や特定データベースの接続数を設定できます。SMCの[Databases]パネルで設定します。
デフォルトの最小および最大データベース接続数を設定できます。値は次のものに使用されます。
注記: 特定のデータベースのデフォルトを上書きするには、 特定データベースの接続数の設定を参照してください。
|
フィールド |
説明 |
|---|---|
|
Min # of database connections (すべてのデータベースの適用) |
データベースのデフォルト最小接続数。アプリケーションサーバは、起動すると即座にこの数の接続を確立して、サーバを実行している限りオープンのままにします。 注記: データベースがクラッシュして再起動した場合、アプリケーションサーバは古い接続をドロップして、必要に応じ新しい接続を再確立します。最少接続数として指定されたものは即座に確立されません。 |
|
Max # of database connections (すべてのデータベースに適用) |
データベースのデフォルト最大接続数。アプリケーションサーバは、オンデマンドの接続をこの数までオープンします。 オープン接続の最大数が、データベースサーバに許可される合計数以下または合計数と等しいことを確認します。それ以外の場合、アプリケーションサーバは、接続を開こうとするとデータベースサーバからエラーを返されます。
|
デフォルトの最小および最大データベース接続数を再設定できます。サーバのすべてのデータベースに適用されます。
[Databases]パネル上部の[Min # or Max # of database connections]の横にある[Reset]をクリックします。
デフォルトの最小または最大接続数が再設定され、サーバのすべてのデータベースが新しいデフォルト値を使用するように再設定されます。
特定のデータベースのデフォルトデータベース接続数を上書きできます。
特定のデータベースのデフォルト最小/最大接続を上書きするには
リストボックス([Database]設定の下)から設定するデータベースを選択します。
データベース名の下にある次のフィールドを編集することにより、特定のデータベースの最小および最大データベース接続数を設定します。
|
フィールド |
説明 |
|---|---|
|
Minimum Connections |
アプリケーションサーバは、起動すると即座にこの数の接続を確立して、サーバを実行している限りオープンのままにします。ここで値を設定すると、デフォルト値が上書きされます。 注記: データベースがクラッシュして再起動した場合、アプリケーションサーバは古い接続をドロップして、必要に応じ新しい接続を再確立します。最少接続数として指定されたものは即座に確立されません。 |
|
Maximum Connections |
アプリケーションサーバは、オンデマンドの追加接続をこの数までオープンします。ここで値を設定すると、デフォルト値が上書きされます。 オープン接続の最大数が、データベースサーバに許可される合計数以下または合計数と等しいことを確認します。それ以外の場合、アプリケーションサーバは、接続を開こうとするとデータベースサーバからエラーを返されます。
|
特定のデータベースの最小または最大接続数をデフォルト値にリセットできます。
選択したデータベースの[Minimum Connections]または[Maximum Connections]の横にある[Reset]をクリックします。
最小または最大接続数は、デフォルト値(パネル上部に表示)にリセットされます。
|
管理ガイド 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.