• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 27063
  • 公開日時 : 2016/05/18 00:00
  • 更新日時 : 2026/03/16 18:11
  • 印刷

HULFT活用事例 ~HULFTの転送速度のチューニング方法~

HULFTテクニカルサポートセンターでは、日々、保守をご契約いただいているお客様よりさまざまなお問い合わせをいただいております。

今回は、HULFTの転送速度のチューニング方法についてご紹介いたします。

日々お客様よりいただくご質問の中で、「転送速度が想定より遅い」「もっと速度を上げることはできないのか?」といったご質問を頂きます。
速度が遅いと業務に支障が出る可能性があり、円滑なHULFT運用を行うことが困難な状態になります。

そこで、HULFTテクニカルサポートセンターからお客様にご案内しているのが「転送速度のチューニング」です。
チューニングとは、HULFTの転送速度に関わる設定項目を調整し、転送速度を向上させることとを指します。
チューニングすることで転送速度が上がる可能性がありますので、ぜひお試しください。

※本記事で紹介する方法は、Mainframe以外のHULFTを対象としております。
また、理論上は転送速度の向上が見込めますが、通信速度やマシン性能など、お客様の環境に依存する部分が大きいので、本記事で紹介したチューニング方法を実施することで
確実に転送速度の向上が見込めるものではございません。あらかじめご了承ください。
      
カテゴリー : 

回答

【 転送速度に関わる設定項目 】

※本記事に掲載されている設定画面は全てWindows版HULFT Ver.8を使用しています。
あらかじめご了承ください。

【1】[電文転送タイプ]
【2】[データ検証]
【3】[転送ブロック長]、[転送ブロック数]
【4】[ソケット(送信,受信)バッファサイズ]
【5】[転送間隔]
【6】[圧縮レベル]
【7】[転送タイプ]


 

【1】[電文転送タイプ]

[電文転送タイプ]とは[システム動作環境設定]で設定できる項目です。

  電文転送タイプ

※[転送速度優先モード]は配信側と集信側のHUFLTがVer.7以降である必要があります。また、配信側および集信側が[電文転送タイプ]を「配信速度優先モード」、「集信速度優先モード」、「集配信速度優先モード」に設定する必要があります。

「転送速度優先モード」を使用すると、高速なネットワーク環境、大容量のデータ転送における転送速度の向上が図れます。HULFT Ver.7未満の転送方法である「異常検知優先モード」は、相手ホストからのデータ転送確認を待って次のデータを転送するため、転送速度は「転送速度優先モード」に比べ遅くなりますが、異常発生時の検知を迅速に行います。

※ネットワーク環境によっては、「異常検知優先モード」よりも「転送速度優先モード」の方が、転送速度が遅くなる場合があります。

また、「転送速度優先モード」と「異常検知優先モード」の違いを視覚的に表した図が以下の図1になります。

図1:転送速度優先モードと異常検知優先モードの違い
  転送速度優先モードと異常検知優先モードの違い

また、配信側と集信側の[電文転送タイプ]の組み合わせによって、どちらのデータ転送方式で動作するかが決まります。以下の表1を参照してください。

表1:転送速度優先モードに設定する際の配信側と集信側の設定値
  転送速度優先モードに設定する際の配信側と集信側の設定値

なお、電文転送タイプは、ユーザの配信状況および集信状況に合わせて設定します。
ユーザの環境に応じた電文転送タイプの設定例を以下の図2に示します。

図2:[電文転送タイプ]の設定例
  [電文転送タイプ]の設定例

 

 

【2】[データ検証]

[データ検証]は、[集信管理情報]より設定できる項目です。


  データ検証

配信側ホストから配信されたデータと一致しているかどうかを検証することができます。
[データ検証]を行った場合は処理が増えるため転送速度が低下する可能性がありますので、
転送速度の向上という点では[データ検証]を「しない」に設定してください。
[データ検証]につきましては、以下の図3をご参考ください。

図3:データ検証の流れ
  データ検証の流れ

※[データ検証]を利用するには、配信側のホストと集信側のホストのどちらにも、HULFTVer.7以降が導入されている必要があります。配信側のホストのHULFTがVer.7未満の場合、集信側で[データ検証]が指定されると、転送エラーとなります。
集信側のホストのHULFTがVer.7未満の場合、[データ検証]は指定できず、通常の転送となります。

 

 

【3】[転送ブロック長]、[転送ブロック数]

[転送ブロック長] 、[転送ブロック数] は[配信管理情報]の[拡張設定]より設定できる項目です。
双方のHULFTのバージョンと、電文伝送タイプの組み合わせにより設定が異なりますので、以下に例を出してご紹介させていただきます。

  転送ブロック長

■Ver.5、Ver.6

[転送ブロック長]*[転送ブロック数]の値が大きくなるように設定し、また[ソケットバッファサイズ]に合わせてください。

[転送ブロック長]*[転送ブロック数]=[ソケットバッファサイズ]

■Ver7
 

  • 異常検知優先モード(Ver.6までの転送方法)
[転送ブロック長]*[転送ブロック数]の値が大きくなるように設定し、また[ソケットバッファサイズ]に合わせてください。
 
[転送ブロック長]*[転送ブロック数]=[ソケットバッファサイズ]
  • 転送速度優先モード(Ver.7で追加された転送方法)
[転送ブロック長]*[転送ブロック数]の値が大きい、かつ、[ソケットバッファサイズ]を割り切れる値に設定してください。
 
[ソケットバッファサイズ]/([転送ブロック長]*[転送ブロック数])=余りなし

■Ver.8以降

配信側ホストがVer.8以降である場合のみ、ファイルの転送速度に関する設定値をHULFTが自動で最適化させることが可能です。最適化により転送速度の向上が期待できます。
ファイルの転送速度に関する設定値を自動で最適化する場合は、[転送ブロック長]および[転送ブロック数]に「0」を指定してください。

HULFTによる自動最適化ではなく、ユーザレベルでのチューニングをご希望の場合には、先述した「■Ver.7」と同様の計算式をお使いください。
なお[転送ブロック長]と[転送ブロック数]は、積算値が同じであればどのような組み
合わせでもソケットに送出されるデータ量としては同じになります。
 

【4】[ソケット(送信,受信)バッファサイズ]

[ソケット送信バッファサイズ]及び[ソケット受信バッファサイズ]は
[システム動作環境設定]にて設定することができる項目です。

  ソケット(送信,受信)バッファサイズ

Ver.5、Ver.6、Ver.7では[ソケットバッファサイズ]、Ver.8では[ソケット送信バッファサイズ]および[ソケット受信バッファサイズ]となり送信、受信でそれぞれ設定できます。

なお、本記事では[ソケットバッファサイズ]、[ソケット送信バッファサイズ] および[ソケット受信バッファサイズ]を[ソケットバッファサイズ]と総称し記載いたします。
ご了承ください。

HULFTが1度にTCP/IPに引き渡すデータの最大サイズは、[ソケットバッファサイズ]になります。したがいまして、[ソケットバッファサイズ]の値を大きくすることにより、1度に TCP/IPに引き渡すデータサイズが増えますので、転送速度の向上が期待できます。

(1)MTU(Maximum Transmission Unit)
 
ネットワークにおいて1度に送信できるパケットの最大サイズはMTUの値となります。
これには40バイト(デフォルトサイズ)のTCP/IPヘッダが含まれますので、MTUから40を減算した値が、パケットの分割なしで1 度に転送可能な最大データサイズとなります。
 
したがって、「[転送ブロック長]、[転送ブロック数]の設定」を行い、かつ[ソケットバッファサイズ]を(MTU - 40)の整数倍の値に設定することで、理論上はパケット分割を回避しやすくなるため転送効率の向上が期待できます。
 
■計算式
[ソケットバッファサイズ] = (MTU - 40) * n
 
お客様の環境におけるMTU値の設定値については、お手数ですがシステム管理者様にお問い合わせください。

(2)遅延ACK および Nagleアルゴリズム
 
TCPでは、受信バッファのサイズに対して受信したデータが小さい場合、ACKの返信を遅らせる機能(遅延ACK)や、MSS(Maximum Segment Size)以下のデータをまとめて送信する機能(Nagleアルゴリズム)が実装されています。
 
HULFTテクニカルサポートセンターでは、「遅延ACK」および「Nagleアルゴリズム」によって、パケットの送信が遅延し、HULFTの転送速度が劣化した事例がございますので、本機能を無効化させることを推奨しています。
 
遅延ACKおよびNagleアルゴリズムの無効化は、OSのカーネルパラメータを変更することで可能です。詳細な設定方法は、お手数ですがお使いのOSのサポートベンダー様までご確認ください。
また、「MTU/遅延ACK/Nagleアルゴリズム/MSS」の詳細は、ネットワーク管理者様までご確認ください。
 
なおHULFTの仕様上の制約により、[ソケットバッファサイズ]の上限値は以下の値となります。
 
Ver.5、Ver.6、Ver.7 = 65520
Ver.8 = 2147483647
 
※注意※
Windows Vista以降のOSでは、[ソケットバッファサイズ]で指定された値が「4096」以上の場合、TCP/IPのWindowサイズとして適用される動作となっております。これは、WindowsVista以降で実装されたTCP/IPの自動チューニングによるものです。
 
(参考)
●Windows2003まで
[ソケットバッファサイズ]の指定値「32767」未満の場合
Windowサイズを「65535」に固定
 
[ソケットバッファサイズ]の指定値「32767」以上の場合
指定値をWindowサイズとして使用する
 
●Windows Vista以降
[ソケットバッファサイズ]が「4096」以上の場合、その値がWindowサイズとして採用されます。
上記の様にWindows Vista以降では、[ソケットバッファサイズ]に指定した値が、直接TCP/IPのWindowサイズに適用されるケースがあるため、転送速度に大きな影響を与える場合があります。
 
Windows Vista以降で実装されたTCP/IPの自動チューニング機能の詳細につきましては、お手数ですがマイクロソフト様にお問い合わせください。

 

【5】[転送間隔]

[転送間隔]は[配信管理情報]の[転送間隔(ミリ秒)]で設定することができる項目です。

送信単位([転送ブロック長]*[転送ブロック数])ごとの間隔(待機時間)を指定します。
HULFTのファイル転送がネットワークの帯域を多く使用してしまうのを防ぎたい場合などに使用しますが、「0」(初期値)の状態では間欠転送を行わないため、転送速度の向上が期待できます。

転送間隔
 

 

 

【6】[圧縮レベル]

[圧縮レベル]は[配信管理情報]にて設定できる項目です。

圧縮レベル
圧縮を行うことでデータ転送量が少なくなるため、転送速度の向上が期待できます。

なお、以下のような場合は圧縮転送の効果が相殺される、または逆に転送時間が大きくなる可能性があります。配信ファイルがもともと圧縮されている等の理由により、圧縮効果が小さい場合は特にご注意ください。
 

  • 圧縮処理のためのオーバーヘッドが大きい場合
  • 圧縮により付加される制御情報で逆にファイルサイズが増加する場合
 

 

【7】[転送タイプ]

[転送タイプ]は、[配信管理情報]より設定できる項目です。

  転送タイプ
コード変換処理がない、または単純であるほど処理オーバーヘッドが減少し、転送速度が
向上すると言えます。したがって一般的には、以下の順で速くなる場合が多くなります。

バイナリ > フォーマット > テキスト > マルチフォーマット
 
 
目的別で検索
性能