Topik ini menjelaskan cara mengubah jumlah koneksi maksimum untuk instans ApsaraDB RDS for MySQL.
Latar Belakang
Untuk memenuhi kebutuhan aplikasi dengan konkurensi tinggi dan meningkatkan performa, ApsaraDB RDS for MySQL memungkinkan Anda mengubah parameter yang mengatur jumlah koneksi maksimum. Parameter ini dapat diubah melalui Konsol ApsaraDB RDS atau dengan memanggil operasi API.
Kasus Penggunaan
Anda dapat menyesuaikan jumlah koneksi maksimum untuk mengatasi perubahan besar pada beban kerja. Misalnya, aplikasi game yang menggunakan koneksi singkat mungkin mengalami lonjakan permintaan koneksi saat peluncuran layanan atau pembaruan versi. Dalam kasus seperti ini, Anda dapat meningkatkan jumlah koneksi maksimum untuk memenuhi permintaan tersebut.
Parameter
Dua parameter berikut mengatur jumlah koneksi maksimum:
-
max_user_connections: Jumlah maksimum koneksi simultan yang diizinkan untuk satu akun database. Nilainya berkisar antara 10 hingga 208.000. Jika jumlah koneksi untuk suatu akun melebihi batas ini, sistem akan mengembalikan error
has more than 'max_user_connections'atauhas exceeded the 'max_user_connections', dan koneksi baru akan diblokir. -
max_connections: Jumlah maksimum koneksi simultan yang diizinkan ke instans dari seluruh akun database. Nilainya berkisar antara
1hingga208.000. Jika total jumlah koneksi melebihi batas ini, sistem akan mengembalikan errortoo many connections, dan koneksi baru akan diblokir.
Dampak
Setiap koneksi mengonsumsi memori. Semakin banyak koneksi, semakin besar sumber daya instans yang digunakan, sehingga nilai ini harus dikonfigurasi dengan hati-hati. Jika max_connections diatur terlalu tinggi, hal ini dapat menyebabkan error out of memory (OOM). Gunakan nilai default sesuai tipe instans Anda untuk mencegah masalah stabilitas akibat batas koneksi yang melebihi kapasitas instans.
Catatan Penggunaan
-
Setelah mengubah parameter max_connections, nilai pada kolom Running Value di halaman Parameters akan lebih tinggi daripada nilai yang Anda tetapkan. Hal ini karena nilai yang ditampilkan mencakup koneksi yang dicadangkan oleh sistem untuk maintenance. Nilai Maximum Connections pada halaman Basic Information sama dengan nilai yang Anda tetapkan.
-
Setelah instans melakukan restart, batas atas parameter max_connections dipengaruhi oleh parameter open_files_limit. Dalam kasus ini, nilai running aktual dari max_connections ditentukan oleh rumus berikut:
min(open_files_limit - 810, nilai yang Anda tentukan atau jumlah koneksi maksimum yang direkomendasikan untuk tipe instans saat ini + koneksi maintenance yang dicadangkan).Nilai default open_files_limit adalah 655.350. Jika Anda mengatur parameter max_connections ke nilai lebih dari 654.540 (termasuk koneksi maintenance yang dicadangkan), naikkan juga parameter open_files_limit di konsol untuk mencegah max_connections dibatasi oleh open_files_limit setelah instans restart. Parameter open_files_limit merupakan parameter statis, sehingga perubahan hanya berlaku setelah instans direstart.
Ubah jumlah koneksi maksimum di konsol
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah instans, lalu klik ID instans.
-
Di panel navigasi sebelah kiri, klik Parameters.
-
Di tab Modifiable Parameters, temukan parameter max_user_connections atau max_connections. Di kolom Running Value, klik ikon
, masukkan nilai baru di kotak dialog, lalu klik OK. -
Klik Apply Changes. Di kotak dialog yang muncul, pilih kapan perubahan diterapkan, lalu klik OK.
CatatanPerubahan pada parameter max_user_connections dan max_connections berlaku segera tanpa perlu restart instans.
Ubah jumlah koneksi maksimum melalui API
Contoh permintaan
Contoh ini menggunakan operasi API ModifyParameter untuk mengatur 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 dalam format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "542BB8D6-4268-45CC-A557-B03EFD7AB30A"
}
Verifikasi perubahan
-
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah instans, lalu klik ID instans.
-
Di panel navigasi sebelah kiri, klik Parameters.
-
Di tab Edit History, verifikasi bahwa nilai parameter baru telah diterapkan.
FAQ
-
Q: Sebelum saya mengubah parameter max_connections, mengapa nilai di kolom Running Value pada halaman Parameters sudah lebih tinggi daripada jumlah koneksi maksimum yang tersedia untuk instans saya?
A: Nilai di kolom Running Value pada halaman Parameters mencakup koneksi yang dicadangkan untuk maintenance dan stabilitas instans, sehingga nilainya lebih tinggi daripada jumlah koneksi yang tersedia untuk aplikasi Anda.
-
Q: Setelah saya mengubah parameter max_connections, mengapa Running Value lebih besar daripada nilai yang saya tetapkan?
A: Nilai di kolom Running Value pada halaman Parameters mencakup koneksi yang dicadangkan untuk maintenance dan stabilitas instans. Jumlah maksimum koneksi aktual yang tersedia untuk aplikasi Anda ditampilkan di bidang Maximum Connections pada halaman Basic Information.
-
Q: Mengapa jumlah koneksi maksimum tidak berubah setelah saya melakukan peningkatan tipe instans?
A: Jumlah koneksi maksimum dapat diatur secara manual. Jika Anda belum menetapkan nilai kustom, instans akan menggunakan nilai default berdasarkan tipe instans-nya.