Oracle Solaris カーネルのチューンアップ・リファレンスマニュアル

第 5 章 ネットワークキャッシュとアクセラレータのチューニング可能パラメータ

この章では、ネットワークキャッシュとアクセラレータ (NCA) のチューニング可能パラメータの一部を説明します。

チューニング可能パラメータ情報の記載箇所

チューニング可能パラメータ 

参照先 

Solaris カーネルのチューニング可能パラメータ 

第 2 章Oracle Solaris カーネルチューニング可能パラメータ

NFS チューニング可能パラメータ 

第 3 章NFS チューニング可能パラメータ

インターネットプロトコル群のチューニング可能パラメータ 

第 4 章インターネットプロトコル群のチューニング可能パラメータ

NCA パラメータのチューニング

これらのパラメータの設定は、Web サーバー専用のシステムに適しています。これらのパラメータの設定によりキャッシュページに割り当てるメモリーを増やすことができます。この章で説明するチューニングパラメータはすべて、 /etc/system ファイル内で設定します。

/etc/system ファイルにチューニング可能パラメータを追加する方法については、「Solaris カーネルのチューニング」を参照してください。

nca:nca_conn_hash_size

備考欄

もっとも近い素数に調整された、すべての TCP 接続の NCA モジュール内のハッシュテーブルサイズを制御します。

デフォルト

383 ハッシュテーブルエントリ

範囲

0 から 201,326,557

動的か

いいえ

どのような場合に変更するか

NCA の TCP ハッシュテーブルサイズが小さすぎて、着信 TCP 接続を追跡できない場合。この場合、多くの TCP 接続が同じハッシュテーブルエントリとしてグループ化されます。このような状況は、NCA が多くの TCP 接続を受けて、システム性能が低下しているときに発生します。

コミットレベル

変更の可能性あり

nca:nca_conn_req_max_q

備考欄

NCA が待機する保留中の TCP 接続の最大数を指定します。

デフォルト

256 接続

範囲

0 から 4,294,967,295

動的か

いいえ

どのような場合に変更するか

過剰な数の TCP 接続が確立しているために、NCA が新たに確立した接続を直後に閉じる場合。NCA が多くの TCP 接続を受けていて、これ以上の負荷を処理することはできても、これ以上の接続を受け付けることができない場合は、このパラメータの値を大きくします。その結果、NCA は、同時により多くの TCP 接続を処理できるようになります。

コミットレベル

変更の可能性あり

nca:nca_conn_req_max_q0

備考欄

NCA が待機する保留中でまだ確立されていない (3 種類のハンドシェークが未完了) TCP 接続の最大数を指定します。

デフォルト

1024 接続

範囲

0 から 4,294,967,295

動的か

いいえ

どのような場合に変更するか

すでに多数の TCP 接続が保留となっているため、NCA が追加の接続を拒否する場合。NCA が多くの TCP 接続を受けていて、これ以上の負荷を処理することはできても、これ以上の接続を受け付けることができない場合は、このパラメータの値を大きくします。その結果、NCA は、同時により多くの TCP 接続を処理できるようになります。

コミットレベル

変更の可能性あり

nca:nca_ppmax

備考欄

NCA がページをキャッシュするために使用できる最大物理メモリー容量 (ページ数) を指定します。この値は、合計メモリー容量の 75 パーセント以下に収める必要があります。

デフォルト

物理メモリーの 25 パーセント

範囲

物理メモリーの 1 パーセントから最大量まで

動的か

いいえ

どのような場合に変更するか

メモリー容量が 512M バイト以上システム上の NCA を使用する場合。システムの未使用物理メモリー容量が多い場合は、このパラメータの値を大きくします。これにより、NCA は、このメモリーを使って新しいオブジェクトを効果的にキャッシュに格納できます。その結果、システム性能が向上します。

仮想メモリーより物理メモリーが大きいシステム (4G バイトを超えるメモリーを持つ 32 ビットカーネル) の場合を除き、このパラメータの値は nca_vpmax に併せて大きくします。システムのページサイズを判定するには、pagesize(1) を使用します。

コミットレベル

変更の可能性あり

nca:nca_vpmax

備考欄

NCA がページをキャッシュするために使用できる最大仮想メモリー容量 (ページ数) を指定します。この値は、合計メモリー容量の 75 パーセント以下に収める必要があります。

デフォルト

仮想メモリーの 25 パーセント

範囲

仮想メモリーの 1 パーセントから最大量まで

動的か

いいえ

どのような場合に変更するか

メモリー容量が 512M バイト以上システム上の NCA を使用する場合。システムの未使用仮想メモリー容量が多い場合は、このパラメータの値を大きくします。これにより、NCA は、このメモリーを使って新しいオブジェクトを効果的にキャッシュに格納できます。その結果、システム性能が向上します。

このパラメータの値は nca_ppmax に合わせて大きくします。仮想メモリーよりも物理メモリーが大きなシステムの場合を除き、このパラメータは nca_vpmax とほぼ同じ値に設定します。

コミットレベル

変更の可能性あり

NCA のための一般的なシステムチューニング

NCA パラメータの設定以外にも、一般的なシステムのチューニングにより、NCA の性能を向上させることができます。GigabitEthernet (ge ドライバ) を使用する場合は、インタフェースを割り込みモードにすると性能が向上します。

たとえば、64 ビットカーネルでブートする 4G バイトのメモリーのあるシステムの場合、/etc/system ファイル内に次のパラメータを設定するとよいでしょう。システムのページサイズを判定するには、 pagesize を使用します。


set sq_max_size=0
set ge:ge_intr_mode=1
set nca:nca_conn_hash_size=82500
set nca:nca_conn_req_max_q=100000
set nca:nca_conn_req_max_q0=100000
set nca:nca_ppmax=393216
set nca:nca_vpmax=393216

sq_max_size

備考欄

宛先 STREAMS キューが QFULL メッセージを生成する前に、syncq の深度 (メッセージ数) を設定します。

デフォルト

10000 メッセージ

範囲

0 (無制限) から MAXINT

動的か

いいえ

どのような場合に変更するか

メモリーの大きなシステム上で NCA を動作させている場合、このパラメータの値を増やしてドライバがキューに入れることのできるパケット数を増やします。サーバーの負荷が大きい場合、このパラメータの値を増やして、パケットがドロップされたりパケット処理が後回しにされることなくモジュールやドライバのデータ処理能力を向上させることができます。

Solaris 8 以降のリリース – 実稼動システムではこのパラメータを 0 に設定しないでください。このパラメータの変更が必要な場合は、この値を徐々に増やしてシステムを監視します。

Solaris 7 以前のリリース – 実稼動システムではこのパラメータを 0 に設定しないでください。このパラメータの変更が必要な場合は、この値を最大 100 まで徐々に増やしてシステムを監視します。

コミットレベル

変更の可能性あり

変更履歴

sq_max_size (Solaris 9 12/02 リリース)」を参照してください。

ge:ge_intr_mode

備考欄

ge ドライバが、パケットをキューに入れず、上位通信層に直接送信できるようにします。

デフォルト

0 (パケットを上位層のキューに入れる)

範囲

0 (有効) または 1 (無効)

動的か

いいえ

どのような場合に変更するか

NCA を有効にしている場合は、このパラメータを 1 に設定し、パケットを割り込みモードで NCA へ配信し、よりすばやく処理できるようにします。

コミットレベル

変更の可能性あり