私はAWSラムダ関数を作成するためにnodejs(バージョン4.4)でサーバーレスフレームワークを使用しています。ラムダ実行のデフォルトのタイムアウトは6秒です。私はORMの続編を使用してmysqlデータベースに接続しています。 実行のタイムアウトがのようなエラーが表示されます。場合によっては、このエラーでもコードが正常に動作することがあります。しかし、このタイムアウトエラーの後には何も動作しないことがあります。私にとって本当に難しいのは、このタイムアウトから意味をなさないものです。私はタイムアウトを増やすことは、より多くの料金が発生する恐れがあります。AWS Lambdaが6秒でタイムアウトする
0
A
答えて
2
「実行がタイムアウトしました」のようなエラーが表示されている場合は、おそらくタイムアウトがあまりにも低いLambdasの実行を切断している可能性があります。
これにはいくつかの理由があるかもしれません:
- コンテナの初期化が遅くなることがあり、これが唯一のコンテナの最初の呼び出しで発生します。メモリの設定が不十分でライブラリがたくさんロードされている場合は、かなりの時間がかかることがあります(通常、ノードに問題はないはずです)
- データベースへの接続が遅い可能性があります
- データベース接続が古くなってタイムアウトにつながる可能性があります。
- データベースのクエリが遅くなることがあります。
一時的にLambdaにログを追加してタイムアウトを長くして、実際に何がかかるかを把握する必要があります。すでに重いLambdaユーザーでなければ、月に400.000 free GB-secondsを使い果たしてしまう可能性は低いです。ラムダを128 MBで稼働させると、これは月当たり3.200.000秒/ 1日あたり103.225秒/ 28.5時間/日に相当します。より高いメモリ設定でもテストしてみてください。場合によっては、消費されたGB /秒の合計を減らすことさえできます。
他の人はすでに実際に使用された時間だけを支払っていると指摘していますので、ラムダがタイムアウトよりも速く終了した場合、消費された実際の時間(100ミリ秒単位で)を支払うだけです。
関連する問題
- 1. AWS Lambda:メッセンジャーにビデオテンプレートを送信するとラムダがタイムアウトする
- 2. AWS Lambda関数がfirebaseエントリを追加中にタイムアウトします
- 3. AWS Lambdaをfirebase-admin initializeAppタイムアウトを使用して
- 4. AWS LambdaからSNSへの公開時のタイムアウト
- 5. AWS Lambda NoClassDefFoundError
- 6. Python Pusher AWS Lambda
- 7. AWS Lambda Boto describe_volumes
- 8. AWS Lambda Cognitoアクセス
- 9. AWS Lambda:クラスjava.lang.ClassNotFoundException
- 10. BotkitとAws Lambda
- 11. CasperJSとAWS Lambda
- 12. AWS Lambda Cronスケジュールエラー
- 13. AWS Lambda:サービスエラー
- 14. AWS LambdaとMongoDB
- 15. AWS Lambda DynamoDBクエリエラー
- 16. AWS Lambda + Python-ldap
- 17. AWS ASG + SNS + Lambda
- 18. AWS Lambda and Redis
- 19. AWS LambdaとHDF5
- 20. AWS LambdaでLXMLを使用
- 21. AWS Lambdaでのエラー処理
- 22. Python AWS Lambda 301リダイレクト
- 23. Aws Lambda Deployment from CodePipeline
- 24. AWS LambdaのPDFBoxキャッシュ
- 25. AWS LambdaでAWS SDK Opsworksコマンドを実行するには?
- 26. `aws lambda`関数内で` AWS CLI`コマンドを実行するには?
- 27. aws lambdaからaws s3にアップロード
- 28. AWS Lambdaの公開後スクリプトですか?
- 29. VPC設定でAWS Lambdaを追加すると、S3にアクセスするとタイムアウトになる
- 30. AWS EC2 SShタイムアウト
設定時間ではなく、実行時間にのみ課金されます。時間を増やし、それが役立つかどうかを確認してください。 – Kannaiyan
問題がラムダまたはコードであるかどうかを確認するために、わずかな時間だけそれを増やすことができます。それを1日10秒とすると、その行動を観察してください。まだタイムアウトがある場合は、5分に増やし、再度観察します。 – hjpotter92
MySQLの接続/クエリに時間がかかる可能性があります。タイムアウトを増やそうとする前に、コードを一度確認してください。最適化が行われているかどうかを確認してください。何もない場合は、何も残しておらずタイムアウトを増やす必要があります。ラムダ関数の実行時間は決定論的でなければなりません。 –