-1

AWS APIと統合されたAWS Lambda関数 - ゲートウェイ要求URLは最初の要求ごとにタイムアウトしていますが、AWS Lambda関数は1回目の呼び出しでタイムアウトし、2回目の呼び出しで機能します

注:LambdaはCloudWatchでスケジューリングすることで暖かく保ちましたが、動作しませんでした。

+3

Lambdaは*自分の* Lambda関数の最初の呼び出しでタイムアウトする可能性がありますが、一般的にはそうではありません。あなたの設定されたタイムアウトは何ですか?どのようなプログラミング言語を使用していますか?あなたのラムダ関数は、実際に何が実行されるのですか?たとえば、起動時に大きなファイルをダウンロードしますか? – jarmod

+1

あなたを助けるためにあなたのハンドラを見る必要があります。あなたはそれをあなたの質問に含めることができますか? – dashmug

+0

こんにちは@jarmod私の実際の問題は、私のラムダがAPIゲートウェイに統合され、AWSの外で(iPadクライアントのような)呼び出されたときにGet requestを使用してAPIゲートウェイを使用していることです。 =>あなたの設定されたタイムアウトは何ですか?=ラムダの場合は5分ですが、APIゲートウェイの場合は30秒です。 =>どのようなプログラミング言語を使用していますか? => Python =>私のラムダ関数はGoogle APIを呼び出して情報を取得し、変換してJSONとして返します。また、他のラムダ関数を内部的に呼び出します。 =>起動時に大きなファイルをダウンロードするかどうか=いいえ –

答えて

1

コールドスタートの問題です。

あなたはNode.jsのを使用している場合、コールドスタートのスピード、

を改善するために、次の

のWebPACKのいくつか行うことができます。

パック別々のファイルにあるすべてのモジュール1つのファイルにまとめます。

あなたが他の言語を使用している場合は、ファイルの

数:

が少ない回数でファイルの数をキープ

LazyLoad:

がすべてをロードしないでください 必要に応じてモジュールをロード、ロード、ロードすることができます。

希望します。

1

あなたの特定のユースケースについてはあまり知らず、ここでは二つの一般的な提案は以下のとおりです。

  1. も比例CPUを増加させる、あなたの機能に割り当てられているメモリを増やします。あなたの関数はあまり頻繁に呼び出されないので、メモリサイズを増やすための追加コストは、より早いコールドスタート時間とそれゆえ請求期間を短縮することによってバランスされます。

  2. コードサイズを小さくする:小さいzip、Node.jsなどの不要なrequire()の削除など。たとえば、ネストされたコールバックを削除するだけのAsyncライブラリを含める場合は、性能を上げる。

詳細はhttps://forums.aws.amazon.com/thread.jspa?threadID=181348を参照してください。

+0

私たちはメモリーサイズを増やすための最初の提案をしましたが、運はありません。 コードを一度確認して不要なファイルを削除してください **注**:lambda関数と統合され、IOSクライアントアプリケーションのようなAWSの外で呼び出されたAPI-Gatewayに問題があります –

関連する問題