SQSはざっくり、マネージドな分散型メッセージキューイングサービスだ。
今回SQSにメッセージを作る時間、主にネットワークレイテンシーが気になったので測定してみた。
仕組みはよくわからないが、同一リージョンのEC2からだとどれくらいになるのか。ちなみにローカルでは300ms
程度。
参考までにJeff Deanによると同一データセンターのマシン間の通信一往復は0.5ms
参考:Latency Numbers Every Programmer Should Know
キューをうまい感じでマネジメントしてくれる的な、。、。 YouTubeでとてもまとまったAWSの講演を見つけたのでこちらを参考にされたい。( https://www.youtube.com/watch?v=avfc0gQ7X0A )
Cloud9はクラウドIDEの一つだ。つまりブラウザでVSCodeのようなことができる。そしてその実行する主体はEC2である。
そのEC2のスペックはいろいろ選べるが、今回はt2.micro
を選択した。
SQSにメッセージを送信するコードはPythonで実行してみる。
100ms
はいかないくらいだと感じた。プロダクションでも気にならないスピードだなと感じた。
今回の記事ではネットワークレイテンシーを見たかったので特記するほどではないのですが、
FIFO
キューにしていたことに2日後に気づいたので、通常のキューでもやってみます。
FIFOはFirst In First Outのことで、キューの順序を正確にする機能です。
通常のキューでやってもおよそ90ms
でした。FIFOでも普通でも速度は変わりませんでした。
しかしスループットは全然違うので、トラフィックが多い時には変わってくるのではないでしょうか?