Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Penggunaan CPU MySQL yang tinggi

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memilih tanggal dari kolom datetime?

  2. Cara menghapus catatan MySQL setelah waktu tertentu

  3. Cara Mengamankan MySQL:Bagian Kedua

  4. Permintaan UNION dengan pola rekaman aktif codeigniter

  5. Beberapa pernyataan mysql INSERT dalam satu kueri php