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

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

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

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

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

参照箇所 

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

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

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

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

TCP/IP のチューニング可能パラメータ 

第 4 章「TCP/IP チューニング可能パラメータ」

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 の性能を向上させることができます。 Sun の GigabitEthernet (ge ドライバ) を使用する場合は、インタフェースを割り込みモードにすると性能が向上します。

たとえば、4G バイトのメモリーのあるシステムを 64 ビットカーネルでブートする場合、/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

説明

宛先ストリームのキューが QFULL メッセージを生成する前の syncq の深さ (メッセージ数)

デフォルト

2 メッセージ

範囲

1 から 0 (無制限)

動的か

いいえ

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

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

コミットレベル

変更の可能性あり

ge:ge_intr_mode

説明

ge ドライバがパケットをキューに入れずに、直接上位の通信層へ送ることを可能にします。

デフォルト

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

範囲

0 (有効)、1 (無効)

動的か

いいえ

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

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

コミットレベル

変更の可能性あり