Jawabannya sepertinya menambahkan entri berikut di my.cnf di bawah [mysqld]:
wait_timeout=60
interactive_timeout=60
Saya menemukannya di sini (sepanjang jalan di bagian bawah):http://community.livejournal.com/mysql/82879.html
Waktu tunggu default untuk menghentikan koneksi yang tidak aktif adalah 22800 detik. Untuk memverifikasi:
mysql> show variables like 'wait_%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 60 |
+---------------+-------+
EDIT:Saya lupa menyebutkan, saya juga menambahkan yang berikut ke /etc/sysctl.conf saya:
net.ipv4.tcp_fin_timeout = 15
Ini seharusnya membantu menurunkan ambang OS menunggu sebelum menggunakan kembali sumber daya koneksi.
EDIT 2:/etc/init.d/mysql reload tidak benar-benar memuat ulang my.cnf Anda (lihat tautan di bawah)
Mungkin kumpulan koneksi salah dikonfigurasi untuk menahan terlalu banyak koneksi dan menahan terlalu banyak proses yang menganggur.
Selain itu, yang dapat saya pikirkan hanyalah bahwa beberapa bagian kode memegang kumpulan hasil, tetapi tampaknya kecil kemungkinannya. Untuk mengetahui apakah kueri lambat yang waktunya habis, Anda juga dapat mengatur MySQL untuk menulis ke log kueri lambat di file conf, dan kemudian akan menulis semua kueri yang membutuhkan waktu lebih dari X detik, standarnya adalah 10 detik.