ストリーミング インジェストのスループットの制限
Note
Time Series Insights サービスは、2024 年 7 月 7 日に廃止されます。 できるだけ早く既存の環境を代替ソリューションに移行することを検討してください。 サポートの終了と移行の詳細については、こちらのドキュメントを参照してください。
Azure Time Series Insights Gen2 のストリーミング データのイングレスの制限について以下で説明します。
ヒント
すべての制限の包括的な一覧については、「Azure Time Series Insights Gen2 環境の計画」を参照してください。
環境ごとの制限
一般に、イングレス レートの要因としては、組織内のデバイスの数、イベント出力の頻度、各イベントのサイズがあります。
- デバイスの数 × イベント出力の頻度 × 各イベントのサイズ。
既定では、Azure Time Series Insights Gen2 では Azure Time Series Insights Gen2 環境ごとに最大 1 MB/秒 (MBps) または 1000 イベント/秒保存の速度で受信データを取り込むことができます。 ハブのパーティションごとに追加の制限があります。 データのモデル化方法に応じて、オブジェクトの配列を複数のイベントに分割して保存できます。 オブジェクトの配列で複数のイベントが生成されるかどうかを確認する方法。
ヒント
- リクエストにより、環境でサポートされる取り込み速度を最大 2 MBps に指定できます。
- より高いスループットが必要な場合は、Azure portal からサポート チケットを送信してお問い合わせください。
例 1:
Contoso Shipping には、1 分につき 3 回イベントを発生させる 100,000 個のデバイスがあります。 1 つのイベントのサイズは 200 バイトです。 それらは、4 つのパーティションを持つ IoT Hub を Azure Time Series Insights Gen2 イベント ソースとして使用しています。
- それらの Azure Time Series Insights Gen2 環境のインジェスト率は次のようになります。100,000 デバイス * 200 バイト/イベント * (3/60 イベント/秒) = 1 MBps。
- パーティションのバランスが取れているとすると、パーティションあたりのインジェスト率は 0.25 MBps です。
- Contoso Shipping のインジェスト率は、スケールの制限内になります。
- それらの Azure Time Series Insights Gen2 環境のインジェスト率は次のようになります。100,000 デバイス * 200 バイト/イベント * (3/60 イベント/秒) = 1 MBps。
例 2:
Contoso Fleet Analytics には、毎秒 1 つのイベントを発生させる 10,000 個のデバイスがあります。 それらは、2 つのパーティションを持つイベント ハブを Azure Time Series Insights Gen2 イベント ソースとして使用しています。 1 つのイベントのサイズは 200 バイトです。
- 環境のインジェスト率は次のようになります。10,000 デバイス * 200 バイト/イベント * 1 イベント/秒 = 2 MBps。
- パーティションのバランスが取れているとすると、パーティションあたりの率は 1 MBps になります。
- Contoso Fleet Analytics のインジェスト率は、環境とパーティションの制限を超えています。 Azure portal で Azure Time Series Insights Gen2 に要求を送信して、環境のインジェスト率を上げることができます。また、制限内に収まるように、より多くのパーティションを備えたイベント ハブを作成することもできます。
- 環境のインジェスト率は次のようになります。10,000 デバイス * 200 バイト/イベント * 1 イベント/秒 = 2 MBps。
ハブのパーティションとパーティションごとの制限
Azure Time Series Insights Gen2 環境を計画するときは、Azure Time Series Insights Gen2 に接続するイベント ソースの構成を考慮することが重要です。 Azure IoT Hub と Event Hubs はどちらもパーティションを使用して、イベント処理のための水平スケールを有効にします。
パーティションは、ハブで保持されている順序付けされた一連のイベントです。 パーティション数は、ハブの作成フェーズ中に設定され、変更することはできません。
Event Hubs のパーティション分割のベスト プラクティスについては、「パーティションはいくつ必要ですか。」を参照してください。
Note
Azure Time Series Insights Gen2 で使用されるほとんどの IoT Hub には、4 つのパーティションのみが必要です。
Azure Time Series Insights Gen2 環境用の新しいハブを作成する場合でも、既存のハブを使用する場合でも、パーティションごとのインジェスト率を計算して、それが制限内にあるかどうかを判断する必要があります。
Azure Time Series Insights Gen2 には現在、一般的な パーティションごとに 0.5 MBps または 500 イベント/秒の保存の制限があります。 データのモデル化方法に応じて、オブジェクトの配列を複数のイベントに分割して保存できます。 オブジェクトの配列で複数のイベントが生成されるかどうかを確認する方法。
IoT Hub 固有の考慮事項
デバイスは、IoT Hub に作成されるとパーティションに永続的に割り当てられます。 これにより、IoT Hub ではイベントの順序を保証できます (この割り当ては変更されないため)。
固定パーティション割り当ては、IoT Hub のダウンストリームから送信されるデータを取り込んでいる Azure Time Series Insights Gen2 インスタンスにも影響します。 複数のデバイスからのメッセージが同じゲートウェイ デバイス ID を使用してハブに転送されると、それらは同じパーティションに同時に到着することがあるため、パーティションごとのスケール制限を超える可能性があります。
影響:
- 1 つのパーティションで制限を超えるインジェスト率が継続的に発生している場合は、IoT Hub のデータ保有期間を超える前に Azure Time Series Insights Gen2 がすべてのデバイス テレメトリを同期しない可能性があります。 その結果、インジェストの制限を一貫して超えている場合、送信されたデータが失われる可能性があります。
この状況を軽減するために、次のベスト プラクティスが推奨されます。
- ソリューションをデプロイする前に、環境ごとおよびパーティションごとのインジェスト率を計算します。
- IoT Hub のデバイスを可能な限り負荷分散するようにします。
重要
IoT Hub をイベント ソースとして使用している環境では、使用中のハブ デバイスの数を使ってインジェスト率を計算し、パーティションあたりの制限が確実に 0.5 MBps 未満になるようにします。
- 複数のイベントが同時に到着した場合でも、制限を超えなくなります。
ハブのスループットとパーティションの最適化の詳細については、次のリソースを参照してください。
次のステップ
- データ ストレージについて確認します