OpenLiteSpeed Web Server ユーザーズマニュアル

Version 1.4 Rev. 2

サーバーのチューニング

目次

OSの最適化

I/Oイベント・ディスパッチャー | デフォルトのSHMディレクトリ | 

接続のチューニング

最大接続数 | 最大SSL接続数 | コネクションタイムアウト(秒) | 最大キープアライブ要求 | スマートキープアライブ | キープアライブタイムアウト(秒) | 送信バッファサイズ(バイト) | 受信バッファサイズ(バイト) | 

要求/応答のチューニング

最大リクエストURLの長さ(バイト) | 最大要求ヘッダーサイズ(バイト) | 最大リクエストボディサイズ(バイト) | 最大動的応答ヘッダーサイズ(バイト) | 最大動的応答ボディサイズ(バイト) | 

静的ファイル配信の最適化

最大キャッシュサイズの小さいファイルサイズ(バイト) | 小ファイルキャッシュサイズ合計(バイト) | 最大MMAPファイルサイズ(バイト) | MMAPキャッシュサイズ合計(バイト) | sendfile()を使用する | ファイルETag | 

GZIP圧縮チューニング

圧縮を有効にする | 動的圧縮を有効にする | 圧縮レベル(動的コンテンツ) | 圧縮可能なタイプ | 静的ファイルの自動更新 | 静的GZIPキャッシュディレクトリ | 圧縮レベル(静的コンテンツ) | 最大静的ファイルサイズ(バイト) | 最小静的ファイルサイズ(バイト) | 

SSLグローバル設定

SSL強力なDHキー | 複数のSSL証明書を有効にする | セッションキャッシュを有効にする | セッションキャッシュサイズ(バイト) | セッションキャッシュタイムアウト(秒) | セッションチケットを有効にする | SSLセッションチケットの有効期間(秒) | SSLセッションチケットキーファイル | 

I/Oイベント・ディスパッチャーGo to top

説明

使用するI / Oイベント・ディスパッチャーを指定します。 オペレーティングシステムによって、さまざまなタイプのイベントディスパッチャがサポートされています:

  • Linux カーネル 2.4.x サポート:
    • poll
  • Linux カーネル 2.6.x サポート:
    • poll
    • epoll
  • FreeBSD サポート:
    • poll
    • kqueue
  • Solaris サポート:
    • poll
    • devpoll
  • Mac OS X 10.3以降のサポート:
    • poll
    • kqueue
pollはすべてのプラットフォームでサポートされており、デフォルトの選択です。    トラフィックの多いWebサイトでは、代替イベントディスパッチャを使用してサーバーのスケーラビリティを向上させることができます。

構文

ドロップダウンリストから選択

デフォルトのSHMディレクトリGo to top

説明

共有メモリのデフォルトディレクトリを指定されたパスに変更します。 ディレクトリが存在しない場合は作成されます。 特に指定のない限り、すべてのSHMデータはこのディレクトリに保存されます。

構文

パス

最大接続数Go to top

説明

サーバーが受け入れることができる同時接続の最大数を指定します。 これには、プレーンTCP接続とSSL接続の両方が含まれます。 最大同時接続制限に達すると、サーバーはアクティブな要求が完了するとキープアライブ接続を閉じます。

構文

整数

ヒント

サーバーが "root"ユーザーによって起動されると、サーバーはプロセスごとのファイル記述子の制限を自動的に調整しようとしますが、失敗した場合は手動でこの制限を増やす必要があります。

最大SSL接続数Go to top

説明

サーバーが受け入れる同時SSL接続の最大数を指定します。 同時SSL接続と非SSL接続の合計が最大接続数で指定された制限を超えることはできないため、許可される同時SSL接続の実際の数はこの制限より小さくなければなりません。

構文

整数

コネクションタイムアウト(秒)Go to top

説明

1つの要求の処理中に許容される最大接続アイドル時間を指定します。 この時間の間、接続がアイドル状態の場合、つまりI/Oアクティビティがない場合は、接続が閉じられます。

構文

整数

ヒント

[セキュリティ]潜在的なDoS攻撃の間に不在接続を回復するのに役立つように、この値を低く設定します。

参照

キープアライブタイムアウト(秒)

最大キープアライブ要求Go to top

説明

キープアライブ(永続的)セッションを介して処理できる要求の最大数を指定します。 この制限に達すると接続は終了します。 バーチャルホストごとにこの制限を設定することもできます。

構文

整数

ヒント

[パフォーマンス]適度に高い値に設定します。 "1"または "0"の値はキープアライブを無効にします。

参照

Virtual Host 最大キープアライブ要求

スマートキープアライブGo to top

説明

バーチャルホストSmartキープアライブ DESCR:スマートキープアライブをオンにするかどうかを指定します。 このオプションは、最大キープアライブ要求が1より大きい場合にのみ有効です。 有効にすると、バーチャルホストレベルで有効/無効にすることもできます。 スマートキープアライブは、JavaScript、CSSスタイルシート、およびイメージファイルの要求に対してのみキープアライブ接続を確立します。 htmlページの場合、接続は維持されません。 これにより、より多くのユーザーに効率的にサービスを提供できます。 通常、Webページには、最初のリクエスト後にブラウザによってキャッシュされる複数のイメージとスクリプトが含まれています。
これらの非HTML静的ファイルを単一のキープアライブ接続で送信し、text/htmlファイルを別の非キープアライブ接続経由で送信する方が効率的です。 この方法は、アイドル状態の接続を減らし、より多くの同時要求およびユーザーを処理するための容量を増加させます。

構文

ラジオボックスから選択

ヒント

[パフォーマンス]高負荷のWebサイトでこれを有効にします。

参照

Virtual Host Smartキープアライブ

キープアライブタイムアウト(秒)Go to top

説明

キープアライブ接続からの要求間の最大アイドル時間を指定します。 この期間中に新しい要求が受信されない場合、接続は閉じられます。 この設定は、HTTP/1.1接続にのみ適用されます。 HTTP/2接続は、設計によって長いキープアライブタイムアウトを持ち、この設定の影響を受けません。

構文

整数

ヒント

[セキュリティ & パフォーマンス]ロードする必要がある単一のページで参照されるアセットが多くある場合、クライアントからの後続のリクエストを待機するのに十分な時間だけこの値を設定することをお勧めします。 キープアライブ接続で次のページが配信されることを期待して、これを長く設定しないでください。 多くのアイドル状態のキープアライブ接続を維持することはサーバーリソースの浪費であり、(D)DoS攻撃によって活用される可能性があります。 2-5秒はほとんどのアプリケーションにとって妥当な範囲です。 LiteSpeedは非キープアライブ環境で非常に効率的です。

送信バッファサイズ(バイト)Go to top

説明

各TCPソケットの送信バッファサイズ。 512Kは許容されるバッファの最大サイズです。

構文

整数

ヒント

[パフォーマンス]オペレーティングシステムのデフォルトのバッファサイズを使用するには、この値を "未設定"のままにするか、0に設定することをお勧めします。
[パフォーマンス] Webサイトで大きな静的ファイルが使用されている場合は、送信バッファサイズを大きくしてパフォーマンスを向上させてください。
[パフォーマンス]これを低い値に設定すると、ソケットあたりのスループットとメモリ使用量が減少し、メモリがボトルネックになった場合にサーバーがより多くの同時ソケットを持つことが可能になります。

受信バッファサイズ(バイト)Go to top

説明

各TCPソケットの受信バッファーサイズ。 512Kは許容されるバッファの最大サイズです。

構文

整数

ヒント

[パフォーマンス]オペレーティングシステムのデフォルトのバッファサイズを使用するには、この値を "未設定"のままにするか、0に設定することをお勧めします。
[パフォーマンス]大きい受信バッファは、大きなペイロード、すなわちファイルアップロードで着信要求を処理するときのパフォーマンスを向上させます。
[パフォーマンス]これを低い値に設定すると、ソケットあたりのスループットとメモリ使用量が減少し、メモリがボトルネックになった場合にサーバーがより多くの同時ソケットを持つことが可能になります。

最大リクエストURLの長さ(バイト)Go to top

説明

リクエストURLの最大サイズを指定します。 URLは、クエリ文字列を含むサーバーリソースへのアクセスに使用されるフルテキストアドレスです。 8192バイトがハードリミットです。

構文

整数

ヒント

[セキュリティとパフォーマンス]メモリ使用量を減らし、偽のリクエストとDoS攻撃を特定するのに役立つよう、適度に低く設定します。
HTTP GETメソッドがPOSTの代わりに大きなクエリ文字列とともに使用されていない限り、2-3KはほとんどのWebサイトにとって十分です。

最大要求ヘッダーサイズ(バイト)Go to top

説明

要求URLを含むHTTP要求ヘッダーの最大サイズを指定します。 ハード制限は16380バイトです。

構文

整数

ヒント

[セキュリティとパフォーマンス]メモリ使用量を減らし、偽のリクエストとDoS攻撃を特定するのに役立つよう、適度に低く設定します。
4-8Kは、ほとんどのWebサイトで十分です。

最大リクエストボディサイズ(バイト)Go to top

説明

HTTPリクエスト本文の最大サイズを指定します。 32ビットOSの場合、2GBはハード制限です。 64ビットOSの場合、実質的に無制限です。

構文

整数

ヒント

[セキュリティ] DoS攻撃を防ぐには、この制限を実際に必要なものだけに制限してください。 スワッピング空間には、この制限に対応するための十分な空き領域が必要です。

最大動的応答ヘッダーサイズ(バイト)Go to top

説明

動的に生成される応答の最大ヘッダーサイズを指定します。 ハードリミットは8KBです。

構文

整数

ヒント

[信頼性 & パフォーマンス]適度に低く設定すると、外部アプリケーションによって動的に生成された不正な応答を認識するのに役立ちます。

最大動的応答ボディサイズ(バイト)Go to top

説明

動的に生成される応答の最大ボディサイズを指定します。 ハードリミットは2047MBです。

構文

整数

ヒント

[信頼性 & パフォーマンス]不適切なレスポンスを識別するのに役立ちます。 不正なスクリプトに無限ループが含まれて無限大の応答が生じることは珍しいことではありません。

最大キャッシュサイズの小さいファイルサイズ(バイト)Go to top

説明

事前に割り当てられたメモリバッファにキャッシュされる最大の静的ファイルを指定します。 静的ファイルは、メモリバッファキャッシュ、メモリマップキャッシュ、プレーンリード/ライト、およびsendfile()の4つの方法で提供できます。 サイズがこの設定より小さいファイルはメモリバッファキャッシュから提供されます。 サイズがこの設定より大きく、最大MMAPファイルサイズ(バイト)より小さいファイルは、メモリマップドキャッシュから処理されます。 最大MMAPファイルサイズ(バイト)より大きいサイズのファイルは、プレーン・リード/ライトまたはsendfile()を介して処理されます。 メモリバッファキャッシュから4Kより小さい静的ファイルを提供することが最適です。

構文

整数

小ファイルキャッシュサイズ合計(バイト)Go to top

説明

小さな静的ファイルをキャッシュ/提供するためにバッファーキャッシュに割り振ることができる合計メモリーを指定します。

構文

整数

最大MMAPファイルサイズ(バイト)Go to top

説明

メモリマップされる最大の静的ファイル(MMAP)を指定します。   静的ファイルは、メモリバッファキャッシュ、メモリマップキャッシュ、プレーンリード/ライト、およびsendfile()の4つの方法で提供できます。 サイズが最大キャッシュサイズの小さいファイルサイズ(バイト)より小さいファイルはメモリバッファキャッシュから提供されます。 サイズが最大キャッシュサイズの小さいファイルサイズ(バイト)よりも大きいが最大MAPファイルサイズより小さいファイルは、メモリマップドキャッシュから提供されます。 最大MMAPファイルサイズよりも大きいファイルは、プレーンな読み取り/書き込みまたはsendfile()を介して提供されます。 サーバは32ビットのアドレス空間(2GB)を持っているので、非常に大きなファイルをメモリに格納することは推奨されません。

構文

整数

MMAPキャッシュサイズ合計(バイト)Go to top

説明

中規模の静的ファイルをキャッシュ/配信するためにメモリマップされたキャッシュに割り当てることができる合計メモリを指定します。

構文

整数

sendfile()を使用するGo to top

説明

静的ファイルを提供するためにsendfile()システムコールを使用するかどうかを指定します。 静的ファイルは、メモリバッファキャッシュ、メモリマップキャッシュ、プレーンリード/ライト、およびsendfile()の4つの方法で提供できます。 最大キャッシュサイズの小さいファイルサイズ(バイト)より小さいファイルはメモリバッファキャッシュから提供されます。 最大キャッシュサイズの小さいファイルサイズ(バイト)より大きいが、最大MMAPファイルサイズ(バイト)より小さいファイルは、メモリマップドキャッシュから提供されます。 最大MMAPファイルサイズ(バイト)より大きいファイルは、プレーンな読み取り/書き込みまたはsendfile()で処理されます。 Sendfile()は、非常に大きな静的ファイルを処理するときにCPU使用率を大幅に下げることができる「ゼロコピー」システムコールです。 Sendfile()は最適化されたネットワークカードカーネルドライバを必要とするため、一部の小規模ベンダーのネットワークアダプタには適していない可能性があります。

構文

ラジオボックスから選択

ファイルETagGo to top

説明

ファイルのinode、last-modified time、およびsize属性を使用するかどうかを指定します。 静的ファイル用のETag HTTP応答ヘッダーを生成します。 3つの属性はすべてデフォルトで有効になっています。 ミラー化されたサーバーから同じファイルを提供する予定の場合は、iノードを含めないでください。 それ以外の場合、1つのファイルに対して生成されるETagは、異なるサーバーで異なります。

構文

チェックボックスから選択

圧縮を有効にするGo to top

説明

静的HTTP応答と動的HTTP応答の両方のGZIP圧縮を制御します。

構文

ラジオボックスから選択

ヒント

[パフォーマンス]ネットワーク帯域幅を節約するために有効にします。 html、css、およびjavascriptファイルなどのテキストベースの応答が最大の利益をもたらし、平均で元のサイズの半分に圧縮できます。

動的圧縮を有効にするGo to top

説明

動的に生成されるHTTPレスポンスのGZIP圧縮を制御します。 動的なGZIP圧縮を有効にするには、圧縮を有効にするはいに設定する必要があります。

構文

ラジオボックスから選択

ヒント

[パフォーマンス]動的応答を圧縮すると、CPUとメモリの使用率は向上しますが、ネットワーク帯域幅は節約されます。

圧縮レベル(動的コンテンツ)Go to top

説明

動的コンテンツの圧縮レベルを指定します。 1(最低)から9(最高)までの範囲です。 デフォルトは2です。

構文

1と9の間の数字。

ヒント

[パフォーマンス]高い圧縮レベルは、より多くのメモリとCPUサイクルを使用します。 マシンに追加の電源がある場合は、それをより高いレベルに設定することができます。 6と9の間に大きな違いはありませんが、9ではCPUサイクルが多く使用されます。

圧縮可能なタイプGo to top

説明

圧縮できるMIMEタイプを指定します。

構文

MIMEタイプのリストをカンマで区切って指定します。 ワイルドカード "*"と否定記号 "!" はtext/*、!text/jsなどで許可されています。

text/cssではないtext/*を圧縮する場合は、次のようなルールを設定できます。 text/*, !text/css. "!"はそのMIMEタイプを除外します。

ヒント

[パフォーマンス] GZIP圧縮の恩恵を受けるタイプのみを許可します。 gif / png / jpegイメージやフラッシュファイルなどのバイナリファイルは、圧縮の恩恵を受けません。

静的ファイルの自動更新Go to top

説明

Sサーバが圧縮可能な静的ファイルのGZIP圧縮バージョンを自動的に作成/更新するかどうかを指定します。 圧縮可能なタイプにリストされているMIMEタイプのファイルが要求されたときにはいに設定されている場合、サーバーは圧縮ファイルのタイムスタンプに応じてファイルの対応する圧縮バージョンを作成または更新できます。 この圧縮ファイルは、静的GZIPキャッシュディレクトリの下に作成されます。 ファイル名は元のファイルのパスのMD5ハッシュに基づいています。

構文

ラジオボックスから選択

静的GZIPキャッシュディレクトリGo to top

説明

静的コンテンツ用の圧縮ファイルの格納に使用されるディレクトリのパスを指定します。 デフォルトはスワップディレクトリです。

構文

ディレクトリパス

圧縮レベル(静的コンテンツ)Go to top

説明

静的コンテンツの圧縮レベルを指定します。 1(最低)から9(最高)までの範囲です。 デフォルトは6です。

構文

1から9の間の数字。

最大静的ファイルサイズ(バイト)Go to top

説明

静的ファイルの最大サイズを指定します。 サーバーは自動的に圧縮ファイルを作成します。

構文

1K以上のバイト数

ヒント

[パフォーマンス]大規模なファイルに対してサーバーが圧縮ファイルを作成/更新することはお勧めできません。 圧縮は、サーバープロセス全体をブロックし、圧縮が完了するまで、それ以上の要求は処理できません。

最小静的ファイルサイズ(バイト)Go to top

説明

静的ファイルの最小サイズを指定します。 サーバーは対応する圧縮ファイルを作成します。

構文

バイト数は200より小さくない。

ヒント

帯域幅の節約はごくわずかなため、非常に小さいファイルを圧縮する必要はありません。

SSL強力なDHキーGo to top

説明

SSLハンドシェイクに2048または1024ビットのDHキーを使用するかどうかを指定します。 「Yes」に設定すると、2048ビットのSSLキーと証明書に2048ビットのDHキーが使用されます。 他の状況でも1024ビットのDHキーが引き続き使用されます。 デフォルトは「はい」です。

以前のバージョンのJavaでは、1024ビット以上のDHキーサイズはサポートされていません。 Javaクライアントの互換性が必要な場合は、これを「いいえ」に設定する必要があります。

構文

ラジオ

複数のSSL証明書を有効にするGo to top

説明

リスナー/バーチャルホストが複数のSSL証明書を設定できるようにします。 複数の証明書が有効な場合、証明書/キーは命名規則に従うことが想定されます。 証明書の名前がserver.crtの場合、その他の可能な証明書名はserver.crt.rsa、server.crt.dsa、server.crt.eccです。 「未設定」の場合、デフォルトは「いいえ」です。

構文

ラジオボックスから選択

セッションキャッシュを有効にするGo to top

説明

セッションIDキャッシングを有効にします。 「未設定」の場合、デフォルトは「いいえ」です。 (Opensslデフォルト)

構文

ラジオボックスから選択

セッションキャッシュサイズ(バイト)Go to top

説明

キャッシュに格納するSSLセッションIDの最大数を設定します。 デフォルトは1,000,000です。

構文

整数

セッションキャッシュタイムアウト(秒)Go to top

説明

この値は、再ネゴシエーションが必要な前にセッションIDがキャッシュ内で有効である期間を決定します。 デフォルトは3,600です。

構文

整数

セッションチケットを有効にするGo to top

説明

セッションチケットを有効にします。 「未設定」の場合、サーバーはopenSSLのデフォルトチケットを使用します。

構文

ラジオボックスから選択

SSLセッションチケットの有効期間(秒)Go to top

説明

この値は、再ネゴシエーションが必要となる前にセッションチケットが有効になる期間を決定します。 デフォルトは3,600です。

構文

整数

SSLセッションチケットキーファイルGo to top

説明

SSLチケットキーを管理者が作成または維持できるようにします。 ファイルの長さは48バイトでなければなりません。 このオプションを空のままにすると、ロードバランサは独自のキーセットを生成してローテーションします。

重要:転送秘密を維持するには、 SSLセッションチケットの有効期間秒単位でキーを変更することを強くお勧めします。 これができない場合は、このフィールドを空のままにすることをお勧めします。

構文

パス