0

私は今、私のバックエンドをストレステストだし、私がスレッドを打つ時間の短い期間でのコールの多くを行う際ラムダに制限し、次のエラーを取得するようだ:ラムダ関数への呼び出しをキューに入れるAWSのSNS、SQS、またはKinesisをどのように決定するのですか?

"errorMessage":"unable to create new native thread","errorType":"java.lang.OutOfMemoryError 

現在、私のアーキテクチャがありますそのように: - >(ラムダ) -

(APIゲートウェイ)>(DynamoDBの)

私は、上記の問題を回避する最善の方法は、キューイングを実装することです理解します。私はこれが、SNS、SQS、およびKinesisを通じた、さまざまなやり方で行えることをオンラインで読んでいます。これらはどれですか:

A)私の現在のアーキテクチャに合わせて、最小限の統合が必要ですか?

B)スレッドの問題を解決できますか?

C)なぜですか?

ありがとうございました

+0

ラムダ関数でどのくらいのメモリを設定しましたか?あなたは最大1536MBで走っていますか? JMVに新しいスレッドを作成するのに十分な空きメモリがありません。 – hellomichibye

+0

私は最初にこれが問題だと思ったので、私は512MBから1024MBに私の記憶限界を打ちました、そして、それは事を変えていないようです。思考? @hellomichibye –

+0

私は[既に述べた](http://stackoverflow.com/q/39500938/1695906)可能性のある説明と反応がないので、これ以上はコメントしません。あなたのコンテナは再利用されています。物事をきちんときれいにする。これは、短時間に複数の呼び出しがある場合にのみ問題が発生する唯一の論理的な説明です。 –

答えて

0

SNSはキューではありません。 SQSはラムダに統合されていません。このシナリオではおそらくKinesisが最適なオプションです。

+0

Ok - Kinesisはうまく見えますが、ドキュメンテーション(http://docs.aws.amazon.com/lambda/latest/dg/with-kinesis)にあります。 html)私はAPIゲートウェイについて言及していません。 APIゲートウェイの問題を使用している/統合を複雑にしているか、それとも同じですか? –

関連する問題