Kill Mysql Sleep Process

Hi Kawan,

kali ini saya bagi-bagi trik, jadi kasusnya adalah, database server sering down, entah karena banyak user yang konek atau apa, ternyata setelah di cek akibat adanya SLEEP CONNECTION pada mysql menyebabkan server database idle dan down. Dapat dicek seperti kasus gambar saya, cuman ini tidak seberapa, yang aslinya di server lebih parah karena banyak idle connection.

image

Kill idle sleep connection tidak berpengaruh kepada client mysql karena posisinya sleep dan tidak menunggu apa-apa. Jadi pada my.inf atau my.cnf dapat di tambahkan variabel

wait_timeout =30

dari asalnya nilai 28800, jika dibagi 60 menjadi 480 menit, dibagi menjadi 60 lagi menjadi 8 jam, jadi idle selama 8 jam, cukup panjang untuk release memory pada database server. Jadi rubah saja menjadi 30 yakni setengah menit, atau 30 detik untuk mempercepat release connection supaya tidak menumpuk pada pool database Mysql.

Dapat juga menambahkan rumus pada my.ini atau my.cnf menjadi :

wait_timeout = 60
interactive_timeout = 100
connect_timeout = 10

Untuk cek process dapat menggunakan perintah :

SHOW FULL PROCESSLIST;

Untuk membuat query dapat menggunakan :

SELECT CONCAT(‘KILL ‘,id,’;’) FROM information_schema.processlist WHERE command=’sleep’;

maka akan menghasilkan tabel untuk di kopi ke notepad untuk dijadikan script mysql.

image

Ok sekian, semoga membantu.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.