背景情報
多数の同時接続を処理し、パフォーマンスを向上させるために、ApsaraDB for RDS コンソールで、または API 操作を呼び出すことによって、RDS インスタンスへの最大接続数を指定するパラメータを変更できます。
シナリオ
接続数が大幅に変化する場合は、ビジネス要件に合わせて最大接続数を指定するパラメータを変更できます。たとえば、ゲーム アプリケーションでは短期間の接続が使用されます。アプリケーションが起動または更新されると、短期間で接続数が大幅に増加します。この場合、ビジネス要件に合わせて最大接続数を指定するパラメータを変更できます。
パラメータ
最大接続数を指定するには、2 つのパラメータが使用されます。
max_user_connections: アカウントで確立できる最大接続数。このパラメータの値の範囲は 10 ~ 208000 です。アカウントで確立された接続数が上限を超えると、has more than 'max_user_connections'
または has exceeded the 'max_user_connections'
エラーメッセージが表示され、新しい接続を確立できません。
max_connections: すべてのアカウントで確立できる最大接続数。このパラメータの値の範囲は 1 ~ 208000 です。すべてのアカウントで確立された接続数が上限を超えると、too many connections
エラーメッセージが表示され、新しい接続を確立できません。
影響
接続はメモリ リソースを消費します。多数の接続が確立されると、多数のシステム リソースが消費されます。注意して進めてください。max_connections パラメータが大きな値に設定されている場合、メモリ不足 (OOM) エラーが発生する可能性があります。このパラメータは、RDS インスタンスのインスタンスタイプでサポートされている最大接続数に設定することをお勧めします。これにより、RDS インスタンスの安定性が確保されます。
使用上の注意
max_connections パラメーターの値を変更した後、RDS インスタンスの [パラメーター] ページの [実行中のパラメーター値] 列に表示されるこのパラメーターの値は、指定した値よりも大きくなります。これは、[実行中のパラメーター値] 列の値に、ルーチン O&M 用に予約されている接続数が含まれているためです。[基本情報] ページの [構成情報] セクションにある [最大接続数] パラメーターの値は、max_connections パラメーターに指定した値と同じです。
RDS インスタンスを再起動すると、max_connections パラメータの最大値は open_files_limit パラメータの影響を受けます。この場合、max_connections パラメータの実際の実行時値は、次の式を使用して計算されます。min{(open_files_limit - 810),(ユーザー定義値またはインスタンスタイプでサポートされている最大接続数 + ルーチン O&M 用に予約されている接続数)}
。
open_files_limit パラメータのデフォルト値は 655350 です。max_connections パラメータを 654540 より大きい値に設定する場合は、ApsaraDB for RDS コンソールで open_files_limit パラメータの値を変更することをお勧めします。これにより、RDS インスタンスを再起動したときに、max_connections パラメータは open_files_limit パラメータの影響を受けません。max_connections パラメータに指定した値には、ルーチン O&M 用に予約されている接続数が含まれます。open_files_limit 静的パラメータの値を変更する場合は、変更を有効にするために RDS インスタンスを再起動する必要があります。
ApsaraDB for RDS コンソールでパラメータを変更する
ApsaraDB for RDS コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンス ID をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[パラメータ] をクリックします。パラメーター
[編集可能なパラメータ] タブで、max_user_connections または max_connections パラメータを見つけて、パラメータの [実行中のパラメータ値] 列の max_connections (最大接続数)
アイコンをクリックします。表示されるダイアログボックスで、値を変更し、[OK] をクリックします。実行中のパラメーター値OK
[変更の適用] をクリックします。表示されるダイアログボックスで、新しい値を有効にする時刻範囲を選択し、[OK] をクリックします。[変更の適用]OK
説明
max_connections パラメータと max_user_connections パラメータの変更はすぐに有効になります。RDS インスタンスを再起動する必要はありません。
API 操作を呼び出してパラメータを変更する
リクエストの例
この例では、ModifyParameter 操作を呼び出して、max_connections パラメータと max_user_connections パラメータの値を変更します。max_connections パラメータの値は 2000 に変更され、max_user_connections パラメータの値は 500 に変更されます。
http(s)://rds.aliyuncs.com/?Action=ModifyParameter
&DBInstanceId=rm-gs5v9xajylz45****
&Parameters={"max_connections":"2000","max_user_connections":"500"}
&<共通リクエストパラメータ>
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "542BB8D6-4268-45CC-A557-B03EFD7AB30A"
}
変更を確認する
ApsaraDB for RDS コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンス ID をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[パラメータ] をクリックします。パラメーター
[編集履歴] タブで、パラメータの新しい値が有効になっているかどうかを確認します。編集履歴

よくある質問
RDS インスタンスの max_connections パラメーターを変更していません。パラメーター ページのパラメーターの 実行中のパラメーター値 列の値が、RDS インスタンスのインスタンスタイプでサポートされている最大接続数よりも大きいのはなぜですか?
[パラメータ] ページのパラメータの [実行中のパラメータ値] 列の値には、ルーチン O&M 用に予約されている接続数が含まれています。実行時パラメーター値パラメーター
max_connections パラメーターを変更し、変更が有効になった後、[実行中のパラメーター値] 列の値が指定した値よりも大きいのはなぜですか。
[パラメータ] ページのパラメータの [実行中のパラメータ値] 列の値には、ルーチン O&M 用に予約されている接続数が含まれています。RDS インスタンスに許可される最大接続数は、[基本情報] ページの [構成情報] セクションにある [最大接続数] パラメータの値に従います。実行時パラメーター値パラメーター最大接続数構成情報基本情報
インスタンスタイプをアップグレードした後、最大接続数が変更されないのはなぜですか?
インスタンスの最大接続数は手動で変更できます。変更しない場合、インスタンスタイプ で定義されているデフォルト値のままになります。