【小ネタ】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であるようです。
終わりに
上限値を把握して、後から泣かないようにしたいですね。