Commutty IT
Circler
Follow
34か月前公開
・30か月前更新
・0 pv
・2 min read
同一リージョンのSQSにEC2からメッセージを作成するのにかかる時間(2022/01/27)
aws
sqs
なぜやったか?
バックエンドの非同期処理を実装するときにAWSのSQSを見つけた。
SQSはざっくり、マネージドな分散型メッセージキューイングサービスだ。
今回SQSにメッセージを作る時間、主にネットワークレイテンシーが気になったので測定してみた。 仕組みはよくわからないが、同一リージョンのEC2からだとどれくらいになるのか。ちなみにローカルでは
300ms
程度。
Jeff Deanの「すべてのプログラマが知っておくべきレイテンシーの数値」
参考までに
Jeff Dean
によると同一データセンターのマシン間の通信一往復は0.5ms
参考:
Latency Numbers Every Programmer Should Know
SQSとは?
キューをうまい感じでマネジメントしてくれる的な、。、。 YouTubeでとてもまとまったAWSの講演を見つけたのでこちらを参考にされたい。(
https://www.youtube.com/watch?v=avfc0gQ7X0A
)
検証: 最近お気に入りのCloud 9 を使ってみた。
Cloud9はクラウドIDEの一つだ。つまりブラウザでVSCodeのようなことができる。そしてその実行する主体はEC2である。 そのEC2のスペックはいろいろ選べるが、今回は
t2.micro
を選択した。
SQSにメッセージを送信するコードはPythonで実行してみる。
結果: およそ90ms
100ms
はいかないくらいだと感じた。プロダクションでも気にならないスピードだなと感じた。
おまけ
SQSには通常版とFIFO版の二種類があった
今回の記事ではネットワークレイテンシーを見たかったので特記するほどではないのですが、
FIFO
キューにしていたことに2日後に気づいたので、通常のキューでもやってみます。 FIFOはFirst In First Outのことで、キューの順序を正確にする機能です。
FIFOとそうでない時のレスポンスタイムの違い
通常のキューでやってもおよそ
90ms
でした。FIFOでも普通でも速度は変わりませんでした。 しかしスループットは全然違うので、トラフィックが多い時には変わってくるのではないでしょうか?
Discussion
コメントにはログインが必要です。