パフォーマンス設定の編集
ここでは、Sun Java System Web Server 7.0 のパフォーマンスが向上する可能性のある特定の調整について説明します。
サーバーを調整するときは、それぞれの環境は独自のものであることを覚えておくことが重要です。ここに示す提案が及ぼす影響は、それぞれの環境によって異なります。最終的には、自分自身の判断と所見に基づいて、自分にとって最善の調整を選択する必要があります。
HTTP パフォーマンス設定の編集
HTTP 設定を行うには、「構成」、「構成名」、「パフォーマンス」、「http」の順にクリックします。次の表では、HTTP 設定について説明します。
表 10 フィールドの説明 > 一般設定
フィールド | デフォルト | 説明 |
要求ヘッダーバッファーサイズ | 8192 バイト | このパラメータは、ヘッダーサイズが指定された値以下の場合にのみ HTTP 要求を処理するようにサーバーに指示します。 大きいヘッダーを許可すると、サーバーのパフォーマンスに影響することがあります。 |
不正な要求ヘッダーを拒否 | 無効 | HTTP 仕様と衝突する不正な形式の HTTP 要求および応答を拒否します。 デフォルトでは、このパラメータは無効になっています。有効にすると、サーバーは不正な要求ヘッダーをチェックします。 |
最大要求ヘッダー数 | 64 バイト | 要求の処理に許可されている HTTP 要求ヘッダーの最大サイズです。 |
応答バッファーサイズ | 8192 バイト | サーバーの HTTP 応答バッファーサイズを制限します。このパラメータの制御の詳細については、『パフォーマンスチューニングガイド』を参照してください。 |
チャンク解除の最大サイズ | 8192 バイト | サーバーがアンチャンクする、チャンクされた HTTP 要求本文の最大サイズ (バイト単位) です。指定可能な値の範囲は 0 から 214704836470 です。 |
チャンク解除タイムアウト | 60 秒 | サーバーがチャンクされた HTTP 要求本文の着信を待つ最大時間 (秒単位) です。指定可能な値の範囲は 0 から 3600 です。タイムアウトを設定しない場合は -1 を指定します。 |
I/O タイムアウト | 30 秒 | サーバーが個々のパケットを待つ最大時間 (秒単位) です。指定可能な値の範囲は 0 から 3600 です。タイムアウトを設定しない場合は -1 を指定します。 |
要求本文タイムアウト | -1 秒 | サーバーが完全な HTTP 要求本文を待つ最大時間 (秒単位) です。指定可能な値の範囲は 0 から 604800 です。タイムアウトを設定しない場合は -1 を指定します。 |
要求ヘッダータイムアウト | -1 秒 | サーバーが完全な HTTP 要求ヘッダーを待つ最大時間 (秒単位) です。指定可能な値の範囲は 0 から 604800 です。タイムアウトを設定しない場合は -1 を指定します。 |
表 11 フィールドの説明 > スレッドプール設定
フィールド | デフォルト | 説明 |
スレッドプール | 有効 | スレッドプールはデフォルトで有効になっています。 |
最大スレッド数 | デフォルト | このパラメータは、スレッドプール内の最大スレッド数を決定します。値を大きくすると並列実行できる要求が多くなりますが、コンテキストの切り替えのためにオーバーヘッドが増えるため、値を大きくすればいいとは限りません。通常はこの数値を大きくする必要はありませんが、CPU が飽和状態になっておらず、複数の要求がキューで待機している場合は、この数値を大きくしてください。 |
最小スレッド数 | デフォルト | このパラメータは、スレッドプール内の最小スレッド数を決定します。 |
スタックサイズ | 13107.02 | このパラメータは、スレッドプール内の各スレッドのスタックサイズをバイト単位で決定します。 |
キューサイズ | 1024 | このパラメータは、スレッドプールのキューで待機できるスレッドの数を決定します。プール内のスレッドがすべてビジー状態の場合は、ネイティブプールのスレッドを使用する必要がある次の要求処理スレッドはキューで待機する必要があります。 キューがいっぱいの場合は、キューに入ろうとする次の要求処理スレッドは拒否され、ビジーの応答がクライアントに返される結果になります。その後、そのスレッドは、キュー内で待機しながら拘束される代わりに、別の受信要求を自由に処理できるようになります。 |
表 12 フィールドの説明 > キープアライブ設定
フィールド | デフォルト | 説明 |
キープアライブ | 有効 | Sun Java System Web Server 7.0 のキープアライブ (または HTTP/1.1 持続接続処理) サブシステムは、非常にスケーラブルに設計されています。作業負荷が持続的でない場合 (つまり、キープアライブヘッダーのない HTTP/1.0 の場合)、または主にキープアライブ接続を提供している負荷の軽いシステムの場合、購入時の設定が最適ではない場合があります。 |
スレッド数 | デフォルト | このパラメータは、キープアライブサブシステムのスレッド数を決定します。この数値は、システムのプロセッサ数の小さい倍数にすることをお勧めします。たとえば、CPU が 2 基のシステムでは、キープアライブスレッドを 2 または 4 にします。 |
最大接続数 | デフォルト | このパラメータは、Web サーバーがいつでも維持できるキープアライブ接続の最大数を制御します。指定できる範囲は 1 から 1048576 です |
タイムアウト | 30 秒 | このパラメータは、クライアントとサーバー間でサーバーが HTTP キープアライブ接続または持続接続を開いている最大時間 (秒単位) を決定します。デフォルトは 30 秒です。アイドル状態が 30 秒を超えると接続はタイムアウトします。最大値は 300 秒 (5 分) です。 |
ポーリング間隔 | 0.001 秒 | サーバーのポーリングが開始されるまでの時間です。 |
DNS 設定の編集
DNS 設定を行うには、「構成」、「構成名」、「パフォーマンス」、「DNS」の順にクリックします。次の表では、Sun Java System Web Server 7.0 のパフォーマンスに影響する可能性のある、一般的な DNS 設定について説明します。
表 13 フィールドの説明 > DNS 設定
フィールド | デフォルト | 説明 |
DNS 検索 | 無効 | サーバーで DNS 検索を実行するかどうかを指定します。デフォルト値は false です。 |
非同期 DNS | 無効 | サーバーでオペレーティングシステムの同期リゾルバの代わりにサーバー自体の非同期 DNS リゾルバを使用するかどうかを指定します。デフォルト値は true です。 |
タイムアウト | 12 秒 | 非同期 DNS 検索のタイムアウト時間 (秒単位) です。可能な値の範囲は 0.001 ~ 3600 です。 |
DNS キャッシュ | 有効 | DNS キャッシュでは、IP アドレスと DNS 名がキャッシュされます。サーバーの DNS キャッシュはデフォルトで有効になっています。 |
最大キャッシュサイズ | 1024 エントリ | サーバーが許可するキャッシュエントリの最大数です。単一のキャッシュエントリは、単一の IP アドレスまたは単一の DNS 名の検索を表します。キャッシュは、並列で Web サイトにアクセスするクライアントの最大数と同じ大きさにしてください。 キャッシュサイズを大きく設定しすぎると、メモリーを浪費しパフォーマンスも低下します。 |
キャッシュ有効期限時間 | 120 秒 | DNS エントリが期限切れになるまでの時間です。この有効期限のあとに、更新が検索されます。 |
SSL および TLS 設定の編集
SSL および TLS 設定を行うには、「構成」、「構成名」、「パフォーマンス」、「SSL および TLS」の順にクリックします。次の表では、Sun Java System Web Server 7.0 のパフォーマンスに影響する可能性のある SSL および TLS 設定について説明します。
表 14 フィールドの説明 > SSL および TLS 設定
フィールド | デフォルト | 説明 |
SSL キャッシュ | 有効 | サーバーで SSL/TLS セッションをキャッシュするかどうかを指定します。デフォルト値は true です。 |
最大キャッシュサイズ | 10000 エントリ | サーバーでキャッシュする SSL/TLS セッションの最大数です。値の範囲は 1 ~ 524288 です。 |
SSL2 セッション継続時間 | 100 秒 | SSL2 セッションをキャッシュする最大時間です。値の範囲は 5 ~ 100 です。 |
SSL3/TLS セッション継続時間 | 86400 秒 | SSL3/TLS セッションをキャッシュする最大時間です。値の範囲は 5 ~ 86400 です。 |
キャッシュ設定の編集
キャッシュ設定を行うには、「構成」、「構成名」、「パフォーマンス」、「キャッシュ」の順にクリックします。次の表では、Sun Java System Web Server 7.0 のパフォーマンスに影響する可能性のあるキャッシュ設定について説明します。
表 15 フィールドの説明 > キャッシュ設定
フィールド | デフォルト | 説明 |
ファイル内容をキャッシュ | 有効 | ファイルキャッシュはデフォルトで有効になっています。設定の詳細については、『Administrator's Configuration File Reference』を参照してください。 |
sendfile を使用 | 無効 | このオプションを有効にすると、サーバーは、ファイル内容ではなく、ファイルキャッシュにあるファイルの開いているファイル記述子をキャッシュし、クライアントへのファイル内容の送信には PR_TransmitFile が使用されます。このオプションが有効になっていると、開いているファイル記述子だけがキャッシュされるため、通常はファイルキャッシュによって行われる小さいファイル、中間のファイル、および大きいファイルの区別は適用されなくなります。 デフォルトでは、このオプションは Windows では有効に、UNIX では無効になっています。UNIX の場合、このオプションは、現在 HP-UX および AIX を含む PR_TransmitFile を OS でネイティブでサポートするプラットフォームでのみ有効にしてください。ほかの UNIX または Linux プラットフォームではお勧めできません。 |
最大継続時間 | 30 秒 | この設定は、ファイルのキャッシュ後に、キャッシュした情報の使用を継続する時間を制御します。同じファイルがキャッシュで参照される場合、指定した値より古いエントリは同じファイルの新しいエントリに置き換えられます。 最大継続時間は、内容が定期的に更新されるかどうか、つまり既存のファイルが定期的に変更されるかどうかに基づいて設定します。たとえば、内容が 1 日に 4 回一定間隔で更新される場合は、最大継続時間を 3600 秒に設定できます。そうでない場合は、前の内容のバージョンのファイルを変更後に、そのファイルを提供する最長の時間に最大継続時間を設定することを考慮してください。 ファイル内容またはメタ情報、あるいはその両方をキャッシュする最大時間 (秒単位) です。可能な値の範囲は 0.001 ~ 3600 です。 |
最大エントリ数 | 1024 エントリ | 内容またはメタ情報、あるいはその両方をキャッシュするパスの最大数です。指定可能な値の範囲は 1 から 10485706 です。 |
最大オープンファイル数 | デフォルト | ファイルキャッシュで開いたままにするファイル記述子の最大数です。指定可能な値の範囲は 1 から 1073741824 です。 |
ファイルをディレクトリにコピー | 無効 | キャッシュしたファイルをサーバーで一時ディレクトリにコピーするかどうかを指定します。デフォルト値は、Windows では有効、ほかのプラットフォームでは無効です。 |
ディレクトリパス | - | ファイルのコピーが有効のときに使用する一時ディレクトリです。絶対パス、またはサーバーの設定ディレクトリの相対パスです。 |
置換アルゴリズム | LRU | キャッシュエントリの置換アルゴリズムです。指定可能な値は、なし、LRU、または LFU です。 |
ファイル内容をキャッシュ | 有効 | サーバーでファイル内容をキャッシュするかどうかを指定します。デフォルト値は true です。 |
最大ヒープファイルサイズ | 524288 バイト | ヒープにキャッシュするファイルの最大サイズ (バイト単位) です。可能な値の範囲は 0 ~ 2147483647 です。 |
最大ヒープスペースサイズ | 104857060 バイト | ファイルのキャッシュに使用するヒープの最大容量 (バイト単位) です。可能な値の範囲は 0 ~ 9223372036854775807 です。 |
最大メモリーマップファイルサイズ | 0 バイト | メモリーマップを実行するファイルの最大サイズ (バイト単位) です。可能な値の範囲は 0 ~ 2147483647 です。 |
最大メモリーマップアドレス空間 | 0 バイト | ファイルのキャッシュに使用するメモリーマップアドレス空間の最大容量 (バイト単位) です。可能な値の範囲は 0 ~ 9223372036854775807 です。 |
ACL 認証のキャッシュ | 有効 | ACL ユーザーキャッシュはデフォルトでオンになっています。キャッシュのデフォルトサイズ (200 エントリ) のために、ACL ユーザーキャッシュは、トラフィックの多いサイトではボトルネックになるか、その目的を達成できない可能性があります。ビジー状態のサイトでは、200 を超えるユーザーがキャッシュエントリの寿命より短い時間で ACL 保護されたリソースにヒットする可能性があります。この状況が発生すると、サーバーはユーザーを検証するためにさらに頻繁に LDAP サーバーに照会する必要があり、パフォーマンスに影響します。 |
最大ユーザー数 | 200 | この指示は、ユーザー数を決定する数値に設定します。デフォルトは 200 です。 |
最大グループ数 | 4 | この指示は、1 つの UID/キャッシュエントリにキャッシュできるグループ ID の数を決定する数値に設定します。デフォルトは 4 です。 |
キャッシュタイムアウト | 120 秒 | この指示は、キャッシュエントリが期限切れになるまでの秒数を決定する数値に設定します。キャッシュ内のエントリが参照されるたびに、その継続時間が計算され、指定された秒数と比較されます。エントリの継続時間が指定された秒数以上である場合、そのエントリは使用されません。 デフォルト値は 120 秒です。この値を 0 に設定した場合、キャッシュはオフになります。この値に大きい数値を使用する場合は、LDAP エントリに変更を加えるときにサーバーを再起動する必要があることがあります。たとえば、この値を 120 秒に設定した場合、サーバーは 2 分間 LDAP サーバーと同期しなくなることがあります。LDAP が頻繁に変更されないと考えられる場合は、大きい数値を使用します。 |
CGI 設定の編集
CGI 設定を行うには、「構成」、「構成名」、「パフォーマンス」、「CGI」の順にクリックします。次の表では、Sun Java System Web Server 7.0 のパフォーマンスに影響する可能性のある CGI 設定について説明します。
表 16 フィールドの説明 > CGI 設定
フィールド | デフォルト | 説明 |
CGI タイムアウト | -1 | 長時間稼働している CGI プログラムをサーバーが終了するまでのタイムアウト時間 (秒単位) です。値の範囲は 0.001 ~ 3600 です。タイムアウトを設定しない場合は、-1 です。 |
CGI アイドルタイムアウト | 300 | 応答のない CGI プログラムをサーバーが終了するまでのタイムアウト時間 (秒単位) です。値の範囲は 0.001 ~ 3600 です。 |
CGI スタブタイムアウト | 30 | 使用されていない Cgistub プロセスを終了できるようになるまでのタイムアウト時間 (秒単位) です。値の範囲は 0.001 ~ 3600 です。 |
CGI スタブ実行可能ファイル | デフォルト | カスタム CGI スタブ実行可能ファイルへのパスです。 |
最小スタブサイズ | 0 | CGI プログラムの実行を待つ間サーバーでスタンバイさせておく Cgistub プロセスの最小数です。値の範囲は 0 ~ 4096 です。 |
最大スタブサイズ | 16 | CGI プログラムの実行を待つ間サーバーでスタンバイさせておく Cgistub プロセスの最大数です。値の範囲は 1 ~ 4096 です。 |
アクセスログバッファー設定の編集
アクセスログバッファー設定を行うには、「構成」、「構成名」、「パフォーマンス」、「アクセスログバッファー」の順にクリックします。次の表では、Sun Java System Web Server 7.0 のパフォーマンスに影響する可能性のあるアクセスログバッファー設定について説明します。
表 17 フィールドの説明 > アクセスログバッファー設定
フィールド | デフォルト | 説明 |
ログ更新をバッファリング | 有効 | システムでアクセスログの更新をバッファリングするかどうかを指定します。デフォルト値は true です。 |
バッファーサイズ | 8192 バイト | 個々のアクセスログバッファーのサイズ (バイト単位) です。値の範囲は 4096 から 10485706 までです。 |
サーバーあたりの最大バッファー数 | デフォルト | サーバーあたりのアクセスログバッファーの最大数です。値の範囲は 1 ~ 65536 です。 |
ファイルあたりの最大バッファー数 | 8 | アクセスログファイルあたりのアクセスログバッファーの最大数です。値の範囲は 1 ~ 128 です。 |
最大継続時間 | 1 秒 | 指定されたアクセスログエントリをバッファリングする最大時間です。値の範囲は 0.001 から 3600 までです。 |