第9回:多重配信機能

OrangeLab. 運営チーム
作成日時: - 更新日時:
Avatar
転送の多重度を制御したい。
第9回では、HULFTの転送の多重度の考え方や設定方法についてご紹介いたします。

はじめに

こんにちは、メディアフォースの佐渡です。

突然ですが、一日にどれくらいの頻度でHULFTの転送を行っていますか?
「一日に数回しか転送しない!」といったケースもあると思いますが、システムによっては、多重転送が発生するほど転送頻度が高いケースもありますよね。

後者のような転送頻度が高いシステムの場合、システムの負荷やネットワークの負荷が気になりますよね。
そんな時、「転送の数を制御したい!」なんてことがあるかと思います。

第9回では、下記のような疑問をお持ちな人向けに、HULFTの多重度の考え方や設定方法ついてご紹介したいと思います。
  • HULFTの転送多重度の定義は?
  • HULFTの転送多重度ってどこで設定するの?
  • 多重度をオーバーしたらどのような動きになるの?
  • 転送多重度の設定値のサイジングをしてるんだけど・・・適した値がわからない!

HULFTの多重度の定義

まずはHULFTの多重度の定義について確認していきましょう。
今回はHULFT for Windowsを前提として説明します。

HULFTの配信システム及び集信システムは、1ファイルを配信・集信するごとに1スレッドを起動します。
HULFTの多重度とは、同時に起動される配信スレッドまたは集信スレッドの数をいいます。

多重度には下記の2種類があります。
  • 配信多重度(同時に起動できる配信スレッドの数)
  • 集信多重度(同時に起動できる集信スレッドの数)
それでは、配信多重度、集信多重度の設定方法や仕組みについて確認していきましょう。

多重度の設定方法

まずは設定方法について確認していきましょう。

HULFTでは、配信多重度及び集信多重度の上限値を設定することができます。
多重度の上限値を設定をすることで、無制限にスレッドを起動する(システムリソースを消費する)ことを防ぐことができます。

多重度は、システム全体、または、ホスト単位で設定することができます。

■システム全体の多重度の設定

[システム動作環境設定]-[起動]の「配信多重度」、「集信多重度」にて上限値を設定することができます。
下記画像の設定では、同時に8つまでの配信処理、5つまでの集信処理が可能ということです。
※設定値変更後の適用タイミング:
設定値変更後、HULFTを再起動後に適用されます。

■ホスト別多重度の設定

[詳細ホスト情報]の「ホスト別配信多重度」にてホスト別に上限値を設定することができます。
下記画像の設定では、ORANGEホストに対して、同時に3つまでの配信処理が可能ということです。
なお、ホスト別多重度は、配信多重度のみを設定することができます。
※設定値変更後の適用タイミング:
設定値変更後、受け付けた配信要求から適用されます。

多重度の設定値を越えた場合の動作

多重度を超えた場合、HULFTではどのように制御されるのでしょうか?
内容を確認していきましょう。

■配信多重度、ホスト別配信多重度を超えた場合

多重度を超えて配信スレッドが起動された場合、配信処理はキューイングされ、転送の開始が保留されます。
スレッドが開放され次第、キューイングされた配信処理が再開されます。
なお、HULFT としては、配信多重度を超えた際にキューイングする配信処理の上限値はありません。

(例)配信多重度を3に設定しており、要求発行され、4つめの配信スレッドが起動された場合の動作



※キューイングされたファイルが複数ある場合
ファイルが複数ある場合は、どのファイルから実行させるか優先度を設定することができます。
優先度は、「配信管理情報」で設定することができます。また、utlsendコマンドの引数にて指定することもできます。

■集信多重度を超えた場合

集信多重度を超えた時の動作は配信多重度と異なります。
集信多重度を超えて起動した場合、処理は集信多重度エラーとして扱われ、配信側ホストとのコネクションを切断します。

(例)集信多重度を3に設定しており、4つめの集信スレッドが起動された場合の動作



※集信多重度エラー時の処理について
配信システムは、集信多重度エラーが通知された場合、自動的に再接続をするように設定することができます。
集信プロセスへソケット接続して集信多重度オーバーでエラーとなった場合、接続リトライを行うかどうかをシステム動作環境設定の「集信多重度オーバーリトライ(rcvover_rty)」で指定することができます。

スレッドの生成や開放タイミングについて

多重度の定義や制限方法についてはわかりましたが、「システムに適した多重度の設定をしたい!」と思って記事を見ている人!
今度は、多重度の単位となるスレッドの開始タイミングや開放タイミングが気になりますよね?

それでは、それぞれのタイミングについて確認していきましょう。

■配信スレッドの場合

[システム動作環境設定] の [配信単位選択] (sndpsend) の設定により、多重度を更新するタイミングが異なります。
  • 配信後ジョブが終了した後 (設定値 :0)
  • 配信後ジョブが起動する前 (設定値 :1)
● 配信後ジョブが終了した後 (設定値 :0)
以下の配信処理の流れを例に、多重度の解放タイミングを説明します。
  1. utlsend コマンドの実行
  2. 配信スレッドの生成
  3. データの転送 (配信)
  4. 配信多重度を 1 つ占有
  5. 集信側からの集信完了通知を受け付ける / 異常終了
  6. 配信履歴への書き込み
  7. 配信後ジョブの実行・終了
  8. 配信多重度を1つ開放
    ※この場合、配信後ジョブの実行後に配信多重度が開放されます。
● 配信後ジョブが起動する前 (設定値 :1)
以下の配信処理の流れを例に、多重度の更新タイミングを説明します。
  1. utlsend コマンドの実行
  2. 配信スレッドの生成
  3. データの転送 (配信)
  4. 配信多重度を 1 つ占有
  5. 集信側からの集信完了通知を受け付ける / 異常終了
  6. 配信履歴への書き込み
  7. 配信多重度を1つ開放
  8. 配信後ジョブの実行・終了
    ※この場合、配信後ジョブの実行前に配信多重度が開放されます。

■集信スレッドの場合

集信受付スレッドは、配信側から接続されると集信スレッドを作成します。
コネクション切断後に集信スレッドの開放処理が行われます。
ただし、転送完了後、集信後ジョブやメール連携を実行している場合、集信スレッドが実行中のため多重度としてカウントされます。
そのため、処理時間の長いジョブを使う場合は考慮が必要です。
※スレッドの生成タイミングや開放タイミングの詳細は、アドミニストレーションマニュアルをご参照ください。

まとめ

いかがでしたでしょうか。

今回は、HULFTの多重度の考え方や設定方法についてご紹介しました。
この機能を利用することで、システムやネットワークの負荷を軽減し、多重転送を最適化することができます。

次回は、「暗号化機能」についてご紹介します。
この記事は役に立ちましたか?
3人中3人がこの記事が役に立ったと言っています

コメント