Saya ingin meningkatkan koneksi maksimal untuk Amazon Relational Database Service (Amazon RDS) saya untuk MySQL atau Amazon RDS untuk instans DB PostgreSQL Show
ResolusiLihat nilai max_connections saat iniDi Amazon RDS for MySQL, metrik max_connections memantau jumlah maksimum yang ditetapkan (diizinkan) koneksi klien simultan Secara default, parameter max_connections didasarkan pada rumus berikut di Amazon RDS for MySQL (dihitung dari nilai DBInstanceClassMemory)
Untuk memeriksa nilai max_connections saat ini, jalankan perintah berikut setelah terhubung ke instans Amazon RDS for MySQL Anda _Di Amazon RDS for PostgreSQL, metrik max_connections memantau jumlah maksimum koneksi bersamaan yang ditetapkan. Secara default, parameter max_connections didasarkan pada rumus berikut di Amazon RDS untuk PostgreSQL (dihitung dari nilai DBInstanceClassMemory)
Untuk memeriksa nilai max_connections saat ini, jalankan perintah berikut setelah menyambungkan ke instans Amazon RDS for PostgreSQL Anda
Untuk RDS untuk MySQL dan RDS untuk PostgreSQL bergantung pada kelas instans yang digunakan oleh instans Amazon RDS. Kelas instans DB dengan lebih banyak memori yang tersedia mendukung lebih banyak koneksi database Perhatikan bahwa jumlah max_connections default yang dihitung menggunakan rumus mungkin sedikit berbeda dari jumlah koneksi default yang dikembalikan dari perintah sebelumnya. Ini karena beberapa memori dari total DBInstanceClassMemory dicadangkan untuk operasi OS yang mendasarinya. Perintah sebelumnya hanya mempertimbangkan memori yang dicadangkan untuk mesin PostgreSQL dan bukan untuk OS host yang mendasarinya Tinjau alasan untuk terlalu banyak koneksiSaat jumlah koneksi klien melebihi nilai max_connections, Anda mendapatkan kesalahan yang serupa dengan berikut ini Faktor berikut mungkin menyebabkan koneksi database Anda melebihi nilai max_connections Peningkatan jumlah koneksi klien atau aplikasi ke instans DB. Hal ini disebabkan oleh peningkatan beban kerja atau penguncian tingkat tabel/baris Menutup koneksi klien atau aplikasi dengan tidak benar setelah akhir operasi. Saat koneksi server tidak ditutup dengan benar, aplikasi klien membuka koneksi baru. Seiring waktu, koneksi server baru ini dapat menyebabkan instance Anda melebihi nilai max_connections. Untuk mencantumkan semua koneksi aktif untuk RDS Anda untuk instans DB MySQL, jalankan perintah berikut Untuk melihat koneksi setiap database untuk instance RDS for PostgreSQL Anda, jalankan perintah berikut _Koneksi tidur. Koneksi tidur yang juga dikenal sebagai koneksi terbuka tidak aktif disebabkan saat Anda menetapkan nilai yang lebih tinggi untuk parameter batas waktu koneksi, seperti wait_timeout atau interactive_timeout di MySQL. Jika Anda mengonfigurasi batas koneksi yang sangat tinggi, Anda mungkin berakhir dengan penggunaan memori yang lebih tinggi meskipun koneksi tersebut tidak digunakan. Akibatnya, saat server aplikasi mencoba membuka semua koneksi klien ke database, koneksi ini mungkin ditolak. Untuk mengakhiri koneksi tidur di RDS untuk instans DB MySQL, jalankan perintah berikut
Koneksi menganggur. Anda dapat melihat koneksi yang menganggur dalam contoh RDS untuk PostgreSQL dengan menjalankan kueri berikut. Kueri ini menampilkan informasi tentang proses backend dengan salah satu status berikut selama lebih dari 15 menit. 'menganggur', 'menganggur dalam transaksi', 'menganggur dalam transaksi (dibatalkan)' dan 'dinonaktifkan' _Untuk menghentikan koneksi tidak aktif dalam contoh RDS untuk PostgreSQL, jalankan perintah berikut
Tip. Ini adalah praktik terbaik untuk mengonfigurasi hanya koneksi aktif yang diperlukan untuk kinerja aplikasi. Anda juga dapat mempertimbangkan untuk meningkatkan ke kelas instans DB Amazon RDS yang lebih besar Tingkatkan nilai max_connectionsAnda dapat meningkatkan jumlah maksimum koneksi ke RDS untuk MySQL atau RDS untuk instans DB PostgresSQL menggunakan metode berikut
Ikuti praktik terbaik untuk mengonfigurasi parameter max_connectionsPastikan untuk mempertimbangkan praktik terbaik berikut saat bekerja dengan parameter max_connections untuk instans DB Anda
Catatan. Artikel ini tidak menyertakan nilai yang disarankan untuk parameter yang tercantum karena nilai ini bervariasi berdasarkan kasus penggunaan Anda Bagaimana cara memeriksa jumlah koneksi DB di MySQL?Koneksi aktif atau total dapat diketahui dengan bantuan variabel threads_connected. Variabel menceritakan tentang jumlah koneksi yang sedang terbuka. mysql> tampilkan status di mana `variable_name` = 'Threads_connected'; Ini hasilnya.
Berapa banyak koneksi yang dapat ditangani MySQL?Secara default 151 adalah jumlah maksimum koneksi klien simultan yang diizinkan di MySQL 5. 5 . Jika Anda mencapai batas max_connections Anda akan mendapatkan kesalahan "Terlalu banyak koneksi" ketika Anda mencoba untuk terhubung ke server MySQL Anda. Ini berarti semua koneksi yang tersedia sedang digunakan oleh klien lain.
Apa itu Max_used_connections di MySQL?Max_used_connections adalah variabel status, dan didefinisikan sebagai "jumlah maksimum koneksi yang telah digunakan secara bersamaan sejak server dimulai. " Ternyata, Anda juga dapat mengatur ulang nilai ke nomor koneksi saat ini menggunakan FLUSH STATUS
Bagaimana cara memperbaiki terlalu banyak koneksi di MySQL?Solusi . Identifikasi nilai variabel max_connections. mysql --user="root" --password="PASSWORD" --execute='TAMPILKAN VARIABEL SEPERTI "max_connections";. Gunakan editor teks favorit Anda untuk mengubah /etc/mysql/my. cnf dan tetapkan nilai berikut. max_connections = 500. . Mulai ulang layanan MySQL dan untuk menerapkan perubahan |