t3.nanoでnode.js+redisなサーバを動かしたときのパフォーマンス

投稿者: | 2019年2月12日

AWS EC2のt3.nanoは、EBS含めても月1000円以下で運用可能なお安いインスタンスですが、実際のところ、どの程度のパフォーマンスを出せるか試してみました。

node.jsとredisで構築したアプリケーションサーバで、クライアントから要求があると、node.js経由で redis にデータを格納します。
node.jsでのサーバの実装にはExpressを使用しております。

で、ApacheBenchでベンチマークしてみた結果が、下記です。
node.jsの方は、Clusterでワーカを2プロセス起動しており、ApacheBenchの方は、同時5接続で、10000アクセス実施しております。

CPUとメモリの使用率は、こんな感じです。

だいたい500リクエスト/秒くらいの性能でしょうか。
ApacheBenchが40%ほどCPUを食っているので、外部からの接続なら、もう20%くらいは高い性能が出せそうです。
RedishはほとんどCPUを消費してないようです。

EC2はバースト機能があるので、常時このパフォーマンスではないですが、バーストが切れて5%の性能としても、30接続/秒くらいの性能は出そうすね