Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド

チューニングパラメータ

Solaris の TCP/IP 設定のチューニングは、多数のソケットを開閉するプログラムで役立ちます。Application Server は少数の固定された接続のセットで動作するので、パフォーマンスがそれほど顕著に向上しない場合もあります。

次の表に、パフォーマンスとスケーラビリティーのベンチマークに影響する Solaris のチューニングパラメータを示します。これらの値は、最適なパフォーマンスを得るためのシステムの調整例を示しています。

表 5–1 Solaris のパラメータのチューニング

パラメータ 

スコープ 

デフォルト 

調整値 

コメント 

rlim_fd_max

/etc/system 

1024 

8192 

プロセスが開けるファイル記述子の制限。予想される負荷 (存在する場合は、関連付けられたソケット、ファイル、パイプなど) を考慮して設定します。 

rlim_fd_cur

/etc/system 

1024 

8192 

 

sq_max_size

/etc/system 

ストリームドライバのキューサイズを制限します。0 に設定すると無限になり、バッファーの容量不足がパフォーマンスに影響しなくなります。クライアント上でも設定します。 

tcp_close_wait_interval

ndd /dev/tcp 

240000 

60000 

クライアント上でも設定します。 

tcp_time_wait_interval

ndd /dev/tcp 

240000 

60000 

 

tcp_conn_req_max_q

ndd /dev/tcp 

128 

1024 

 

tcp_conn_req_max_q0

ndd /dev/tcp 

1024 

4096 

 

tcp_ip_abort_interval

ndd /dev/tcp 

480000 

60000 

 

tcp_keepalive_interval

ndd /dev/tcp 

7200000 

900000 

トラフィックの多い Web サイトでは、この値を小さくします。 

tcp_rexmit_interval_initial

ndd /dev/tcp 

3000 

3000 

再転送率が 30 〜 40% を超える場合は、この値を大きくします。 

tcp_rexmit_interval_max

ndd /dev/tcp 

240000 

10000 

 

tcp_rexmit_interval_min

ndd /dev/tcp 

200 

3000 

 

tcp_smallest_anon_port

ndd /dev/tcp 

32768 

1024 

クライアント上でも設定します。 

tcp_slow_start_initial

ndd /dev/tcp 

データが少量であればやや高速に転送します。 

tcp_xmit_hiwat

ndd /dev/tcp 

8129 

32768 

送信バッファーのサイズ。 

tcp_recv_hiwat

ndd /dev/tcp 

8129 

32768 

送信バッファーのサイズ。 

tcp_recv_hiwat

ndd /dev/tcp 

8129 

32768 

受信バッファーのサイズ。 

tcp_conn_hash_size

ndd /dev/tcp 

512 

8192 

接続ハッシュテーブルのサイズ。「接続ハッシュテーブルのサイジング」を参照してください。

接続ハッシュテーブルのサイジング

接続ハッシュテーブルには、アクティブな TCP 接続に関するすべての情報が保持されます。接続ハッシュテーブルのサイズを取得するには、次のコマンドを使用します。

ndd -get /dev/tcp tcp_conn_hash

この値によって接続数が制限されることはありませんが、接続のハッシュにかかる時間が長くなることがあります。デフォルトサイズは 512 です。

ルックアップを効率化するには、サーバーで予想される同時 TCP 接続数の半分の値を設定します。この値は、/etc/system でのみ設定可能で、起動時に有効になります。

現在の TCP 接続数を取得するには、次のコマンドを使用します。

netstat -nP tcp|wc -l