すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:最大接続数を指定するパラメーターの変更

最終更新日:May 06, 2024

このトピックでは、ApsaraDB RDS for MySQLインスタンスへの最大接続数を指定するパラメーターを変更する方法について説明します。

背景

多数の同時接続を処理してパフォーマンスを向上させるには、ApsaraDB RDSコンソールで、またはAPI操作を呼び出して、RDSインスタンスへの最大接続数を指定するパラメーターを変更します。

シナリオ

接続数が大幅に変更された場合は、ビジネス要件を満たすように最大接続数を指定するパラメーターを変更できます。 たとえば、ゲームアプリケーションは短期間の接続を使用します。 アプリケーションが起動または更新されると、接続数は短時間で大幅に増加します。 この場合、ビジネス要件を満たすように接続の最大数を指定するパラメーターを変更できます。

前提条件

RDSインスタンスは次の要件を満たしています。

  • RDSインスタンスはMySQLを実行します。

  • RDSインスタンスは、RDS High-availability Edition、RDS Basic Edition、またはRDS Cluster Editionを実行します。

説明

RDSインスタンスの [基本情報] ページに移動して、前述の情報を表示できます。

Parameters

最大接続数を指定するには、2つのパラメーターが使用されます。

  • max_user_connections: アカウントで確立できる接続の最大数。 このパラメータの値は10から208000の範囲です。 アカウントによって確立された接続の数が上限を超えた場合、'max_user_connections 'または 'max_user_connections' を超えたエラーメッセージが表示され、新しい接続を確立できません。

  • max_connections: すべてのアカウントで確立できる接続の最大数。 このパラメーターの値は1から208000の範囲です。 すべてのアカウントで確立されている接続の数が上限を超えると、あまりにも多くの接続のエラーメッセージが表示され、新しい接続を確立できません。

影響

接続はメモリリソースを消費します。 多数の接続が確立されると、多数のシステムリソースが消費される。 作業は慎重に行ってください。 max_connectionsパラメーターが大きな値に設定されている場合、メモリ不足 (OOM) エラーが発生する可能性があります。 このパラメーターは、RDSインスタンスのインスタンスタイプでサポートされている最大接続数に設定することを推奨します。 これにより、RDSインスタンスの安定性が確保されます。

使用上の注意

  • max_connectionsパラメーターの値を変更すると、RDSインスタンスの [パラメーター] ページの [パラメーターの値] 列に表示されるこのパラメーターの値が、指定した値より大きくなります。 これは、[Running Parameter value] 列の値が、ルーチン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 RDSコンソールでopen_files_limitパラメーターの値を変更することを推奨します。 このように、RDSインスタンスを再起動するときに、max_connectionsパラメーターはopen_files_limitパラメーターの影響を受けません。 max_connectionsパラメーターに指定した値は、ルーチンO&M用に予約された接続の数をカウントします。open_files_limit静的パラメーターの値を変更した場合、変更を有効にするにはRDSインスタンスを再起動する必要があります。

ApsaraDB RDSコンソールのパラメーターの変更

  1. ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。

  2. 表示されるページの左側のナビゲーションウィンドウで、[パラメーター] をクリックします。

  3. [編集可能なパラメーター] タブで、max_user_connectionsまたはmax_connectionsパラメーターを見つけ、パラメーターの [実行中のパラメーター値] 列のimageアイコンをクリックします。 表示されるダイアログボックスで値を変更し、[OK] をクリックします。

  4. [変更の送信] をクリックします。 表示されるダイアログボックスで、新しい値を有効にする時間範囲を選択し、[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 ****
&パラメーター={"max_connections":"2000","max_user_connections":"500"}
&<共通リクエストパラメーター> 

JSON 形式

HTTP/1.1 200 OK
Content-Type:application/json
{
  "RequestId" : "542BB8D6-4268-45CC-A557-B03EFD7AB30A"
  } 

Verify the modification

  1. ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 RDSインスタンスを見つけ、インスタンスIDをクリックします。

  2. 表示されるページの左側のナビゲーションウィンドウで、[パラメーター] をクリックします。

  3. [履歴の編集] タブで、パラメーターの新しい値が有効になるかどうかを確認します。

    image

FAQ

  • RDSインスタンスのmax_connectionsパラメーターは変更しません。 [パラメーター] ページのパラメーターの [実行中のパラメーター値] 列の値が、RDSインスタンスのインスタンスタイプでサポートされている最大接続数を超えるのはなぜですか。

    [パラメーター] ページのパラメーターの [実行中のパラメーター値] 列の値は、ルーチンのO&M用に予約されている接続の数をカウントします。

  • max_connectionsパラメーターを変更して変更が有効になった後、[Running parameter value] 列の値が指定した値より大きいのはなぜですか。

    [パラメーター] ページのパラメーターの [実行中のパラメーター値] 列の値は、ルーチンのO&M用に予約されている接続の数をカウントします。RDSインスタンスに許可される最大接続数は、[基本情報] ページの [設定情報] セクションの [最大接続数] パラメーターの値に従います。