Saat terjadi lonjakan koneksi bersamaan atau beban kerja berubah, Anda mungkin perlu menyesuaikan batas koneksi untuk instans ApsaraDB RDS for MySQL. Ubah parameter max_connections dan max_user_connections melalui Konsol ApsaraDB RDS atau API. Kedua parameter ini bersifat dinamis dan langsung berlaku tanpa perlu restart.
Parameter
Dua parameter MySQL mengontrol jumlah maksimum koneksi bersamaan ke sebuah instans RDS:
| Parameter | Ruang Lingkup | Rentang | Error saat melebihi batas |
|---|---|---|---|
max_connections |
Gabungan semua akun database | 1 hingga 200.000 | too many connections |
max_user_connections |
Per akun database | 10 hingga 200.000 | has more than 'max_user_connections' atau has exceeded the 'max_user_connections' |
Dampak batas koneksi tinggi
Koneksi mengonsumsi memori. Menetapkan nilai max_connections terlalu tinggi dapat menyebabkan error out of memory (OOM) dan membuat instans tidak stabil. Untuk menjaga stabilitas, atur parameter ini sesuai dengan nilai maksimum yang didukung oleh tipe instans Anda.
Perilaku: Nilai Berjalan dan open_files_limit
-
Nilai Berjalan mencakup koneksi yang dicadangkan untuk O&M. Setelah Anda mengubah
max_connections, kolom Running Value pada halaman Parameters akan menampilkan angka yang lebih tinggi dari nilai yang Anda tentukan. Nilai tersebut mencakup koneksi yang dicadangkan untuk operasi dan pemeliharaan (O&M) rutin. Bidang Maximum Connections di bagian Configuration Information pada halaman Basic Information mencerminkan nilai yang Anda tetapkan. -
open_files_limitdapat membatasimax_connectionssaat restart. Saat instans direstart, nilai efektifmax_connectionsdihitung berdasarkan nilaiopen_files_limit, yang secara default adalah 655.350. Jika Anda menetapkanmax_connectionsdi atas 654.540, naikkan juga nilaiopen_files_limitdi konsol untuk mencegah pembatasan terhadapmax_connectionssetelah restart. Karenaopen_files_limitmerupakan parameter statis, instans harus direstart agar perubahan tersebut berlaku.min(open_files_limit - 810, user-defined value or instance type default + O&M reserved connections)
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Instans ApsaraDB RDS for MySQL
-
Izin yang diperlukan untuk mengubah parameter instans
Ubah parameter di konsol
-
Masuk ke Konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah instans RDS Anda. Temukan instans tersebut dan klik ID-nya.
-
Di panel navigasi kiri, klik Parameters.
-
Pada tab Modifiable Parameters, temukan
max_user_connectionsataumax_connections. Klik ikon
di kolom Running Value, masukkan nilai baru, lalu klik OK. -
Klik Apply Changes. Di kotak dialog, pilih kapan perubahan berlaku, lalu klik OK.
Catatan Perubahan padamax_connectionsdanmax_user_connectionslangsung berlaku. Tidak diperlukan restart.
Ubah parameter dengan memanggil operasi API
Panggil operasi ModifyParameter untuk mengubah kedua parameter dalam satu permintaan.
Contoh permintaan
Contoh berikut menetapkan max_connections menjadi 2000 dan max_user_connections menjadi 500:
http(s)://rds.aliyuncs.com/?Action=ModifyParameter
&DBInstanceId=rm-gs5v9xajylz45****
&Parameters={"max_connections":"2000","max_user_connections":"500"}
&<Common request parameters>
Contoh respons (JSON)
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "542BB8D6-4268-45CC-A557-B03EFD7AB30A"
}
Verifikasi perubahan
-
Masuk ke Konsol ApsaraDB RDS. Di bilah navigasi atas, pilih wilayah instans RDS Anda. Temukan instans tersebut dan klik ID-nya.
-
Di panel navigasi kiri, klik Parameters.
-
Klik tab Edit History dan pastikan nilai baru tercantum.

FAQ
Setelah saya mengubah max_connections, mengapa Nilai Berjalan menunjukkan angka yang lebih tinggi daripada yang saya masukkan?
Running Value mencakup koneksi yang dicadangkan oleh sistem manajemen untuk operasi dan pemeliharaan (O&M) rutin guna menjaga stabilitas instans, sehingga nilainya lebih tinggi daripada yang Anda tetapkan. Jumlah maksimum koneksi yang tersedia untuk aplikasi Anda ditampilkan di bidang Maximum Connections pada bagian Configuration Information di halaman Basic Information.
Saya melakukan peningkatan tipe instans, tetapi jumlah maksimum koneksi tidak berubah. Mengapa?
Peningkatan tipe instans tidak secara otomatis menyesuaikan max_connections. Ubah nilainya secara manual melalui konsol atau API. Batas koneksi default untuk setiap tipe instans tercantum dalam referensi tipe instans.