Pertama, saya akan mengatakan Anda mungkin ingin mematikan koneksi persisten karena koneksi tersebut hampir selalu lebih banyak merugikan daripada menguntungkan.
Kedua, saya akan mengatakan Anda ingin memeriksa ulang pengguna MySQL Anda, hanya untuk memastikan tidak ada orang yang dapat terhubung dari server jarak jauh. Ini juga merupakan hal keamanan utama yang harus diperiksa.
Ketiga, saya akan mengatakan Anda ingin mengaktifkan Permintaan Lambat MySQL Log untuk mengawasi setiap kueri yang memakan waktu lama, dan gunakan itu untuk memastikan Anda tidak memiliki kueri 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 dijalankan, 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 Anda, tembolok tabel , tembolok kueri dan innodb_buffer_pool_size (jika Anda menggunakan tabel innodb) karena semua alokasi memori ini dapat memengaruhi kinerja kueri yang dapat menyebabkan MySQL memakan CPU.
Anda mungkin juga ingin membaca yang berikut ini karena berisi beberapa informasi bagus.
Ini juga merupakan ide yang sangat baik untuk menggunakan profiler. Sesuatu yang dapat Anda aktifkan kapan pun Anda mau yang akan menunjukkan kueri apa yang dijalankan aplikasi Anda, jika ada kueri duplikat, berapa lama waktu yang dibutuhkan, dll, dll. Contoh dari sesuatu seperti ini adalah yang sedang saya kerjakan bernama Profiler PHP tapi ada banyak di luar sana. Jika Anda menggunakan perangkat lunak seperti Drupal, Joomla, atau Wordpress, Anda pasti ingin bertanya-tanya dalam komunitas karena mungkin ada modul yang tersedia untuk mereka yang memungkinkan Anda mendapatkan informasi ini tanpa perlu mengintegrasikan apa pun secara manual.