【小ネタ】Amazon Aurora Serverlessのコネクション数上限を調べてみた

はじめに

瀬田@大阪オフィスです。
Aurora Serverlessについて調べていたら、ちょっとした疑問に突き当たったので検証してみました。

Aurora Serverlessの最大コネクション数(max_connections)

Aurora Serverlessには以下の記述があります。

「最小と最大のキャパシティー仕様に基づいて Aurora サーバーレスが、ソースを自動的にスケールする」

この機能があるためか、設定できるパラメータがクラスタレベルのものしかなく、標準のAuroraではできていたチューニングができないようになっています。 そして、標準のAuroraではインスタンスタイプにより、max_connectionsがデフォルト設定されており、最大で16,000までユーザが設定する事がでます。

さて、この「自動的にスケールする」の言葉をそのまま受け取ると、メモリ容量に比例して最大コネクション数(max_connections)も最大で16,000まで 自動でスケールしていくのではないかという目論見です。

確認

Aurora Serverlessはキャパシティユニット単位でスケールしていくので、各キャパシティのmax_connectionsをチェックしてみました。 確認コマンドはselect @@max_connections;です。

キャパシティユニット数 メモリ量 max_connections
 2  4GB 90
 4  8GB  135
 8  16GB  1000
16 32GB  2000
省略
256 (最大) 488GB 6000

これは・・・標準のAuroraの「インスタンスごとのメモリに対する接続上限数」と同じ数値でした。 これを見る限り、max_connectionsがキャパシティ数に対応して固定となっており、 configでも変更できないので最大の接続数はAouroraと同数である6000であるようです。

終わりに

上限値を把握して、後から泣かないようにしたいですね。