この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
どうも、コンサルティング部の後藤です。
困っていたこと
- 対象RDSインスタンスタイプの「max_connections」のデフォルト値を知りたい。
- max_connectionsを既に任意の値に指定しており、デフォルトの設定に戻す方法を知りたい。
回答
(1). 対象RDSインスタンスタイプの「max_connections」のデフォルト値を知りたい
RDSのパラメータグループで設定されている「max_conenctions」のデフォルト値は以下の計算式によって設定されております[1]。
{DBInstanceClassMemory/12582880}
DBInstanceClassMemoryはDBインスタンスに割り当てられたメモリ容量になります。
計算式で算出した値と実際の値は異なるため、実値についてはRDSインスタンスに接続した後、以下コマンドでmax_connectionsの値を確認することが出来ます。
MySQL > SHOW GLOBAL VARIABLES LIKE 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 640 |
+-----------------+-------+
1 row in set (0.00 sec)
今回は db.t3.large を対象としていたため、max_connectionsのデフォルト値は640となっておりました。
(2). max_connectionsを既に任意の値に指定しており、デフォルトの設定に戻す方法を知りたい。
max_connectionsの値を以下のように任意の値に変更してしまっていた場合、
設定値をデフォルト値で設定されている{DBInstanceClassMemory/12582880}
に設定し直すことで、デフォルト値に戻すことが可能です。
max_connectionsの適用タイプはdynamicのため、設定変更後の適用に再起動は不要です。
また補足として、RDSのベストプラクティスではmax_connectionsの値は変更せず、必要であればインスタンスタイプのスケールアップを実施頂くのが推奨となっております。[1]
これらの値を変更することはお勧めできません。もっと接続が必要な場合は、もっと大きい RDS インスタンスサイズにアップグレードすることをお勧めします。