Pertama, saya katakan Anda mungkin ingin mematikan koneksi yang terus-menerus karena mereka hampir selalu lebih berbahaya daripada baik.
Kedua, saya katakan Anda ingin memeriksa ulang pengguna MySQL Anda, hanya untuk memastikan tidak ada orang yang bisa terhubung dari server jauh. Ini juga merupakan hal keamanan utama untuk diperiksa.
Ketiga saya katakan Anda ingin mengaktifkan MySQL Slow Query Log untuk mengawasi pertanyaan yang membutuhkan waktu lama, dan menggunakannya untuk memastikan Anda tidak memiliki pertanyaan yang mengunci tabel kunci terlalu lama.
Beberapa hal lain yang dapat Anda periksa adalah menjalankan kueri berikut saat beban CPU tinggi:
SHOW PROCESSLIST;
Ini akan menunjukkan kepada Anda setiap kueri yang sedang berjalan atau dalam antrian untuk menjalankan, apa kueri itu dan apa yang dilakukannya (perintah ini akan memotong kueri jika terlalu panjang, Anda dapat menggunakan SHOW FULL PROCESSLIST untuk melihat teks kueri lengkap) .
Anda juga ingin mengawasi hal-hal seperti ukuran buffer, cache tabel , cache kueri , dan innodb_buffer_pool_size (jika Anda menggunakan tabel innodb) karena semua alokasi memori ini dapat memengaruhi kinerja kueri yang dapat menyebabkan MySQL menjadi makan CPU.
Anda mungkin juga ingin memberikan bacaan berikut karena mengandung beberapa informasi yang baik.
Ini juga merupakan ide yang sangat bagus untuk menggunakan profiler. Sesuatu yang dapat Anda aktifkan saat Anda inginkan yang akan menunjukkan kepada Anda apa permintaan aplikasi Anda berjalan, jika ada permintaan duplikat, berapa lama mereka mengambil, dll, dll. Contoh dari sesuatu seperti ini adalah yang saya sedang mengerjakan disebut PHP Profiler tetapi ada banyak di luar sana. Jika Anda menggunakan perangkat lunak seperti Drupal, Joomla atau Wordpress Anda akan ingin bertanya-tanya di dalam komunitas karena mungkin ada modul yang tersedia untuk mereka yang memungkinkan Anda untuk mendapatkan informasi ini tanpa perlu mengintegrasikan apa pun secara manual.