TCP/IP バッファー・サイズの調整
WebSphere® Application Server では、TCP/IP ソケット通信メカニズムを広く使用します。TCP/IP ソケット接続では、送受信バッファー・サイズによって受信ウィンドウが定義されます。 受信ウィンドウは、送信が可能で、送信が中断されるまで受信が禁止されるデータ・サイズを指定します。 送信データ量が大きすぎると、バッファーがオーバーランし、転送は中断されます。 データ転送の中断を制御する仕組みは、フロー制御といいます。 TCP/IP バッファーの受信ウィンドウ・サイズが小さすぎる場合は、受信ウィンドウ・バッファーが頻繁にオーバーランし、受信バッファーが空になるまでフロー制御メカニズムはデータ転送を停止します。
このタスクについて
フロー制御は CPU 時間を大量に消費するため、データ転送が中断した結果、追加のネットワーク遅延が発生することがあります。
通常の操作条件下では、フロー制御を避けるために、バッファー・サイズを増加することをお勧めします。バッファー・サイズを大きくすると、フロー制御の発生確率が低下し、CPU 利用率が高まります。
ただし、バッファー・サイズが大きいと、場合によってはパフォーマンスが低下することがあります。
TCP/IP バッファーが大きすぎて、アプリケーションがデータを十分な速度で処理できない場合は、ページングが増加することがあります。
重要なのは、バッファーに累積されるデータ量がシステムの処理能力を超えない範囲で、フロー制御を回避できる十分大きな値を指定することです。
デフォルトのバッファー・サイズは 8 KB です。
最大サイズは 8 MB (8096 KB) です。最適なバッファー・サイズはスイッチやシステムのタイプ、肯定応答タイミング、エラー率やネットワーク・トポロジー、メモリー・サイズ、およびデータ転送サイズなど、複数のネットワーク環境因子によって決まります。
データ転送サイズが極端に大きい場合は、バッファー・サイズを最大値まで設定して、スループットを高め、フロー制御の発生頻度を低下させ、CPU コストを削減することができます。
Web サーバーと WebSphere Application
Server の間のソケット接続のバッファー・サイズは 64 KB に設定されています。通常は、この値で十分です。
アプリケーションで IBM® Developer Kit for Java(TM) JDBC Driver または IBM Toolbox for Java™ JDBC Driver を使用して、リモート・データベースにアクセスする場合は、フロー制御が問題となることがあります。データ転送サイズが大きいと、フロー制御が CPU 時間を大量に消費することがあります。
IBM Toolbox for Java JDBC Driver を使用している場合は、カスタム・プロパティーを使用して、各データ・ソースのバッファー・サイズを構成することができます。
大きなバッファー・サイズ (1 MB など) を指定することをお勧めします。
システム全体に関する設定の一部は、ソケットの 8 KB のデフォルト・バッファー・サイズをオーバーライドします。
WebSphere Commerce Suite など一部のアプリケーションでは、バッファー・サイズに 180 KB を指定すると、フロー制御回数が削減され、通常はページングに悪影響が及びません。最適値は特定のシステム特性によって決まります。
ご使用のシステムに最適なバッファー・サイズを決定する前に、値をいくつか試す必要があります。
TCP/IP が原因で、リモート・メソッドが非常に遅くなることがあります。
詳しくは、「System p および AIX での IBM WebSphere Application Server の実行: 最適化とベスト・プラクティス (Running IBM WebSphere Application Server on System
p and AIX: Optimization and Best Practices)」の
『"TCP/IP ネットワークの設定 (TCP/IP network settings)"』を参照してください。また、「TCP ストリーミング・ワークロードのチューニング」も参照してください。
詳しくは、Linux Tuning を参照してください。
TCP/IP バッファー・
サイズのチューニングについては、「Windows
2000 および Windows Server 2003 の TCP 機能について」を参照してください。TcpWindowSize の値を 8388608 または 16777216 に設定することを検討してください。
システム全体の値を変更するには、以下のステップを実行します。
![[IBM i]](../images/iseries.gif)
![[z/OS]](../images/ngzos.gif)
手順
![[z/OS]](../images/ngzos.gif)
![[IBM i]](../images/iseries.gif)
タスクの結果
最適なバッファー・サイズが決まるまで、この処理を繰り返します。
![[z/OS]](../images/ngzos.gif)
![[IBM i]](../images/iseries.gif)
次のタスク
TCP/IP バッファー・サイズが変更されます。最適なバッファー・サイズが決まるまで、この処理を繰り返します。
TCP/IP パフォーマンスについて詳しくは、「Performance
Capabilities Reference」の第 5 章を参照してください。「Performance Capabilities Reference」の各エディションへのリンクは、『Performance Management Resource Library』を参照してください。