私はリアルタイムアプリケーションのためにSNSを評価しようとしていましたが、実際にはメッセージを配信するのに2秒で<の時間が本当に早く必要でした。Amazon SNSメッセージで期待されるSLA(サービスレベル契約)は何ですか?
私はAPAC地域に在住しているので、シンガポールのSNSには、Us-east-1ロケーションのLambdaに加入者がいます。
この設定では、ラムダを呼び出す際の待ち時間を把握してゼロ処理を行い、時間を記録するためのコードを実行しました。このインスタンスでラムダ呼び出し待ち時間も考慮されていると主張するかもしれません。それは本当です。ラムダが呼び出され実行され、< 2秒以内に返答が必要です。
私は23914のメッセージを送信しました。このメッセージのうち、トランスポート+ラムダの呼び出しには平均653.520ミリ秒あります。 ピークは約600995 ms(〜10分)で、これはpubsubのような技術ではひどい遅延です。 ラムダによってメッセージが送受信されたのは、< 653ミリ秒で、3797パケットまたは15%が平均時間を超えたことを意味します。
2958メッセージまたは12.36%が実行されるために1秒以上を要しました。 379メッセージまたは1.59%が呼び出されて実行されるのに2秒以上かかった(つまり、私のメッセージの1.6%がリアルタイムであるとみなされず、無視する必要があります) 82メッセージ10秒以上 64超過 〜 45秒後、遅延は10分である。私は10分の遅れで3パケットを持っています。
迷惑なことに、メッセージの処理時間を含めれば約2%は、〜24Kの小さなメッセージに対してリアルタイムで処理することはできません。
私が提示しようとしている尺度計算では、月に約216億メッセージを処理する必要があります。この規模では、私はリアルタイムで43億のメッセージを処理することができないと心配しています。
私はこの実験を考えて、SNSの規模がどれだけうまくいくかはわかりません。 #リアルタイムメッセージより少ない(読み込み> 2秒遅れ)でしょうか?それとも減少するだろうか?
私のインターネット接続の信頼性に疑問を呈する傾向があるかもしれません。私はこの実験をEC2でやり直しており、非常に似た結果を得ています。
Infactは、時間の種類がほぼ同じ時刻に一致しています。
固有の質問
- SLAは、SNSのパフォーマンスには何ですか?
- 間接的に:これらのSLAはAWSラムダサービスのものにどのように変換されますか?
- これらの遅延が発生する可能性がある理由は何ですか?
これらがSNSのスケーラビリティの制限の指標であるとは思われません。調査すべき1つのパスは、[SNSメッセージ配信状況](http://docs.aws.amazon.com/sns/latest/dg/msg-status-topics.html)です。これにより、より多くの洞察を得ることができます。 [SNSは正式な配信可能SLAを持っていないようです](https://forums.aws.amazon.com/thread.jspa?threadID=222330)。 –