Programming Self-Study Notebook

勉強したことを忘れないように! 思い出せるように!!

Lambdaのメトリクスについて調べてみた

f:id:overworker:20200812002527p:plain:h150

各種AWSサービスの利用状況をグラフ化したときのメモです。

メトリクスの分類

  • 呼び出しメトリクスの使用
  • パフォーマンスメトリクスの使用
  • 同時実行メトリクスの使用

呼び出しメトリクスの使用

Invocations

  • 関数コードが実行された回数 (成功した実行や関数エラーが発生した実行を含む)。呼び出しリクエストがスロットリングされた場合、呼び出しは記録されません。それ以外の場合は、呼び出しエラーになります。これは、請求対象リクエストの数に等しくなります。

Errors

  • 関数エラーが発生した呼び出しの数。関数エラーには、コードによってスローされた例外と、Lambda ランタイムによってスローされた例外が含まれます。ランタイムは、タイムアウトや設定エラーなどの問題に対してエラーを返します。エラー率を計算するには、Errors の値を Invocations の値で割ります。

DeadLetterErrors

  • 非同期呼び出しの場合、Lambda がイベントをデッドレターキューに送信しようとしたが、失敗した回数。デッドレターエラーは、アクセス許可エラー、リソースの設定ミス、またはサイズ制限が原因で発生する可能性があります。

DestinationDeliveryFailures

  • 非同期呼び出しの場合、Lambda がイベントを送信先に送信しようとしたが、失敗した回数。配信エラーは、アクセス許可エラー、リソースの設定ミス、またはサイズ制限が原因で発生する可能性があります。

Throttles

  • ロットリングされた呼び出しリクエストの数。すべての関数インスタンスがリクエストを処理していて、スケールアップできる同時実行がない場合、Lambda は TooManyRequestsException を使用して追加のリクエストを拒否します。スロットリングされたリクエストやその他の呼び出しエラーは、Invocations または Errors としてカウントされません。

ProvisionedConcurrencyInvocations

  • プロビジョニングされた同時実行で関数コードが実行される回数。

ProvisionedConcurrencySpilloverInvocations

  • プロビジョニングされたすべての同時実行が使用されているときに、標準同時実行で関数コードが実行される回数。

パフォーマンスメトリクスの使用

Duration

  • 関数コードがイベントの処理に費やす時間。関数のインスタンスによって処理された最初のイベントの場合、これには初期化時間が含まれます。呼び出しの請求期間は、最も近い 100 ミリ秒に切り上げられた Duration の値です。

IteratorAge

  • ストリームから読み取るイベントソースマッピングの場合、イベントの最後のレコードの所要時間。所要時間は、ストリームがレコードを受信してから、イベントソースマッピングがイベントを関数に送信するまでの時間です。

同時実行メトリクスの使用

ConcurrentExecutions

  • イベントを処理している関数インスタンスの数。この数値がリージョンの同時実行クォータ、または関数で設定した予約済み同時実行制限に達すると、追加の呼び出しリクエストがスロットリングされます。

ProvisionedConcurrentExecutions

  • プロビジョニングされた同時実行でイベントを処理している関数インスタンスの数。プロビジョニングされた同時実行数を割り当てたエイリアスまたはバージョンの呼び出しごとに、Lambda は現在のカウントを出力します。

ProvisionedConcurrencyUtilization

  • バージョンまたはエイリアスの場合、ProvisionedConcurrentExecutions の値を、割り当て済みのプロビジョニングされた同時実行の合計量で割った値。たとえば、.5 は、割り当て済みのプロビジョニングされた同時実行数の 50% が使用中であることを示します。

UnreservedConcurrentExecutions

  • AWS リージョンの場合、同時実行が予約されていない関数によって処理されているイベントの数。

その他の記事へ