すべてのプロダクト
Search
ドキュメントセンター

Function Compute:Simple Log Serviceトリガーの実行頻度が予想よりも高いのはなぜですか。

最終更新日:Jul 17, 2024

Simple Log Serviceのすべてのシャードは、新しいデータが書き込まれると機能をトリガーします。 したがって、トリガー頻度は、Logstoreが全体としてトリガーされる回数を指します。 また、トリガが遅延すると、データのキャッチアップが発生し、トリガのトリガ間隔が短くなる可能性がある。

問題の説明

Simple Log Serviceトリガーの実行頻度が、予想されるトリガー頻度よりも高い場合があります。

原因

関数はシャードごとに個別に呼び出されます。 Logstore内のシャードに対して関数が呼び出される回数が多い場合でも、各シャードに対して関数が呼び出される間隔は、指定された呼び出し間隔と一致する可能性があります。

関数がシャードに対して呼び出される呼び出し間隔は、データ変換に指定された時間間隔と同じです。 関数が呼び出されると、レイテンシが存在する可能性があります。 これにより、コール間隔が予想よりも大きくなる可能性があります。 次のリストでは、指定された呼び出し間隔が60秒の2つのシナリオについて説明します。

  • シナリオ1: 関数が呼び出され、レイテンシが存在しません。 この関数は60秒間隔で呼び出され、[now -60s, now) の時間範囲で生成されたデータを変換します。

    説明

    関数はシャードごとに個別に呼び出されます。 Logstoreに10個のシャードが含まれ、関数の呼び出し時にレイテンシが存在しない場合、関数は60秒間隔で10回呼び出され、データをリアルタイムで変換します。

  • シナリオ2: 関数が呼び出され、レイテンシが存在します。 Simple Log Serviceシャード内のデータが変換された時点と、最新のデータがSimple Log Serviceに書き込まれた時点との時間差が10秒を超えています。 この場合、トリガーは通話間隔を短くします。 たとえば、関数を2秒間隔で呼び出して、60秒以内に生成されたデータを変換できます。