IBM i - ネットワーク・パフォーマンス
ネットワークのチューニング
ネットワーク・パフォーマンスは、最大伝送単位サイズ、送受信バッファー・サイズ、ポート・フィルタリング、デュプレックス設定、ドメイン名検索の影響を受けます。
最大伝送単位サイズ(MTU)パラメータは、回線の流れの実際のサイズに影響を与えます。
このパラメータの値を増やすと、伝送の総数を減らすことができるため、CPUとIOP (I/Oプロセッサ)の潜在的な容量を増やすことができます。
クライアントにも同様のパラメータがあります。
交渉された値がサーバーとクライアント(場合によってはさらにブリッジ/ルーター)の最小値になるため、すべての値を増やします。
最大伝送単位の設定
最大伝送単位(MTU)パラメータは、以下のコマンドで利用できます。
TCP/IPインターフェイスの追加 (ADDTCPIFC)
TCP/IP経路の追加 (ADDTCPRTE)
TCP/IPインターフェイスの変更 (CHGTCPIFC)
TCP/IP経路の変更 (CHGTCPRTE)
以下は、回線のタイプに基づいて指定可能なMTUの最大値のリストです。
非同期(SLIP) |
1006 |
DDI |
4352 |
イーサネット802.3 |
1492 |
イーサネット・バージョン2 |
1500 |
フレーム・リレー |
8177 |
ポイントツーポイント(PPP) |
4096 |
トークン・リング(4メガビット) |
4060 |
トークン・リング(16メガビット) |
16388 |
ワイヤレス802.3 |
1492 |
ワイヤレス・バージョン2 |
1500 |
X.25 |
4096 |
TCP/IP処理では、各データグラムのごく一部を使用します。そのため、データグラム全体のサイズをユーザー・データに使用することはできません。
TCP/IP処理で使用される最大伝送単位の値は、以前に説明した経路コマンドやインターフェース・コマンドのMTUパラメータで経路に指定した値によって異なります。また、使用する物理回線のタイプ、ネットワーク回線の最大フレーム・サイズ、SSAP最大フレーム・サイズによっても異なります。
データグラムの最大サイズの決定
通信回線の場合、適切な回線記述の作成コマンドで最大フレーム・サイズを指定します。
最大フレーム・サイズは、経路またはインターフェースのMTU値と比較されます。
TCP/IPは、この2つのうちの小さい方の値を使用して、この回線で送信されるデータグラムの最大サイズを決定します。
例えば、通信回線に接続されている経路のMTUパラメータに1024を指定し、回線記述に最大フレーム・サイズの値512が含まれる場合、TCP/IPが使用する経路の最大データグラム・サイズの値は512になります。
回線がオフに変わり、トークン・リングの回線記述で最大フレーム・サイズを1994に変更し、その回線がオンに変わった場合、データグラムが送信される次のTCP/IP操作が行われると、経路に使用される最大伝送単位は1024にリセットされます。
TCP/IP経路の表示
経路宛先 *DFTROUTE
サブネット・マスク *NONE
サービスのタイプ *NORMAL
次のホップ 10.2.0.1
優先バインディング・インターフェース *NONE
最大伝送単位 *IFC
重複経路の優先順位 5
経路メトリック 1
経路再配分 *NO
TCP/IPインターフェースの表示
インターネット・アドレス 10.2.0.169
サブネット・マスク 255.255.0.0
回線記述 ETHLINE
回線タイプ *ELAN
関連ローカル・インターフェース *NONE
インターフェースの状態 Active
サービスのタイプ *NORMAL
最大伝送単位 1492
自動開始 *YES
TCP/IPバッファー・サイズ
サーバー・パフォーマンスを改善するには、TCP/IPで使用されるバッファー・サイズをチューニングします。
ネットワークが十分に信頼できる場合、バッファー・サイズを省略値から増やしてみてください。
ネットワークで大量の衝突や混雑がある場合、TCP/IPの送信バッファーと受信バッファーを減らすことでパフォーマンスを改善できます。これは、不正なパケットの検出にかかる時間が減り、再伝送する必要があるデータが少なくなるためです。
32K〜128Kの範囲でサイズを選択し、両方のバッファーに同じサイズを使用します。
バッファー・サイズを8388608などの大きな値に設定すると、マシン上で記憶域割り当ての問題が発生する場合があります。これは、すべてのTCP/IP接続で受信バッファーに8MBの記憶域を割り当てているためです。
リソースを最適に使用するには、バッファー・サイズを、データグラムが保持できるデータ量(最大セグメント・サイズ(MSS))の倍数にします。
IPヘッダーとTCPヘッダーの長さが異なるためにMSSに問題があるかどうかを確認します。IPヘッダーとTCPヘッダーの両方が最小サイズ(それぞれ20オクテット)であることが前提です。
MSSの値はMTUから(20 + 20)を引きます。つまり、1492 - 40 = 1452バイトになります。
バッファーのサイズをMSSの倍数にする必要があります。
バッファー・サイズが約32Kの場合、32,000 / 1,452 = 22.04のように計算します。
この結果から小数点を切り捨て、切り捨て後の整数にMSSを掛けます。
22 * 1,452 = 31,944
これが、送信バッファー・サイズと受信バッファー・サイズを設定する数字になります。
TCP/IP属性の変更
TCPキープ・アライブ 120
TCP緊急ポインター *BSD
TCP受信バッファー・サイズ 31944
TCP送信バッファー・サイズ 31944
TCP R1再伝送数 3
TCP R2再伝送数 16
TCP終了待機時間のタイムアウト 120
UDPチェックサム *YES
デュプレックス
イーサネットでは、ハーフ・デュプレックスとフル・デュプレックスの両方をサポートしています。
最適なパフォーマンスを得るにはフル・デュプレックスを使用します。
ただし、回線がスイッチに接続される場合、回線記述でのデュプレックス設定をスイッチのポートの設定と一致させる必要があります。
イーサネット・スイッチまたは回線記述を*AUTOに設定する場合は特に注意してください。デュプレックス設定が正しい自動交渉を行わなかったためにパフォーマンスがかなり低下する場合も多くあります。
スイッチと回線記述を*FULLまたは*HALFのどちらかに明示的に設定する方法が最適です。
回線がスタッカブル・ハブに接続される場合、回線のデュプレックス設定を*HALFに設定してハブ設定と一致させる必要があります。
ドメイン名サーバー検索
登録されたDNSサーバーが使用可能で適切に実行する場合、TCP/IP接続のパフォーマンスを改善できます。
JSM_OPEN組み込み関数は、DNS検索を実行して、ホスト名アドレスを解決します。ドット区切りのIPアドレスを使用する場合、このDNS検索はうまくいきません。
接続を開く際にJSM_OPEN組み込み関数の速度が遅い場合は、DNS検索に問題がある可能性があります。パフォーマンスを改善するには、ローカル・ホスト・テーブルにエントリーを追加します。
TCP/IPドメインの変更
ホスト名検索の優先順位 *LOCAL
ドメイン名サーバー
インターネット・アドレス 139.130.4.4
203.48.48.13
リストの最初のDNS (Domain Name Server:ドメイン名サーバー)が応答しない場合、リストの2番目のDNSサーバーに接続を試みます。2番目のDNSサーバーが応答しない場合は、3番目のDNSサーバーに接続を試みます。