【Alteryxアイコン200連発】スロットルツール(Throttle Tool)

Alteryxツールアイコン「スロットルツール」(Throttle Tool)をご紹介します

 スロットルツール (Throttle Tool)

[開発者]カテゴリの[スロットル]ツールについて紹介します。

概要

このツールは、データを処理する速度を抑制するツールです。

通常のデータ処理においては処理速度は早ければ早いほどが良いですが、クラウドやWEBのサービスからデータを取得するような際、処理速度が早すぎるとサーバー側に負荷がかかりすぎてしまう可能性があります。そのような場合に、データの処理速度をわざと落として処理することで、負荷を軽減させるために使用します。

よくあるパターンとして、ダウンロードツールとセットで使うことになります。

設定項目

スロットル設定

設定内容 詳細
レコード処理数/分 1分間あたりのレコード処理数を設定します。60と設定すると、1秒に1レコード処理されます。

 

検証

いくつかのパターンで検証してみました。

スタンダードな使い方

スロットルサンプルWF1

行生成ツールで10レコード生成後、スロットルツールを配置した際の時間を計測します。
スロットルツール前後の時間計測とレコード間の時間差を計算しました。

結果としては、以下の通りで、1秒に1レコード処理する設定(設定値:60)にすると、ちょうど1秒ごとに処理されていることがわかります。

スロットルサンプルWF1結果

 

ワークフロー内の分岐

スロットルサンプルWF2

スロットルの前で分岐して計測してみました。
下の分岐した方のワークフローの処理結果を見てみたいと思います(赤枠のところ)。

スロットルサンプルWF2結果

結果的には、スロットルツールの前で分岐しているにも関わらず、スロットルツールの後ろと同様に1秒毎に実行されています。
つまり、スロットルツールの前も後ろも一続きのデータ処理の中ではスロットルツールの設定が全体に影響を及ぼす、ということになります。

 

ワークフロー内で接続されていない場合

スロットルサンプルWF3

WF内に、スロットルが組み込まれた処理と、組み込まれていない処理があるとします。
この場合は、スロットルが組み込まれている処理の方はスロットルの影響がありますが、その処理と接続がない方はスロットルの効果が及ばず最速のタイミングで処理されています。

スロットルサンプルWF3結果

スロットルを2つ接続

スロットルサンプルWF4

一つのWF内にスロットルを2つ組み込んでみました。それぞれ設定は60と30にしました(前者は1秒に1レコード処理、後者は2秒に1レコード処理)。
結果としては、処理時間が長い方の設定に引きずられ、2秒に1レコード処理されました。
同じデータストリームの中には一つ設定すれば十分ということになります(細かく見ると、1秒に1レコード処理している箇所はありますが・・・)。

スロットルサンプルWF4結果

なお、今回は直列に接続していますが、以下のように並列で接続した際も同じような動きとなります。

スロットルサンプルWF4-2

スロットルを2つ接続(ブロッキングツールを利用)

スロットルサンプルWF5

一つ前のサンプルと同様に、一つのWF内に2つのスロットルを組み込みましたが、スロットルの間に「完了までブロックツール」を挟み込んでみました。
結果としては、「完了までブロックツール」の前と後ろでそれぞれのスロットルツールの結果が反映されました。

スロットルサンプルWF5結果

ツールの中には一度データを溜め込んで流れを一度止める「ブロッキングツール」というものがありますが(例:集計ツール等)、これでWF内が区切られている場合は、スロットルツールをそれぞれに入れる必要があります(設定もそれぞれの設定が有効になります)。

ブロッキングツールについては、「The Periodic Table of Alteryx tools 」を参照ください(英語です)。

 

まとめ

  • 主にダウンロードツール等と組み合わせて、接続先に負荷をかけないように処理を行いたい場合に使います
  • 基本的には複数の設定の異なるスロットルを入れても意味はありません
  • ブロッキングツールで処理が区切られている場合はスロットルを複数設置する必要があります

 

サンプルワークフローダウンロード

ThrottleSample 

 

※Alteryx Designer 2020.1.2.24185時点の情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は2週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事