Log Kueri Lambat MySQL: Panduan Detail
Diterbitkan: 2023-08-01Artikel ini adalah sumber yang ringkas namun komprehensif yang dirancang untuk memberikan pemahaman yang jelas tentang log kueri lambat MySQL dan cara menafsirkannya secara efektif. Panduan ini bertujuan untuk mengungkap kerumitan seputar log kueri yang lambat, memungkinkan pengguna untuk mengidentifikasi dan mengatasi hambatan kinerja dan potensi masalah database.
Mengaktifkan Slow Query Log untuk MySQL terbukti menjadi aset berharga dalam mendiagnosis tantangan kinerja dan efisiensi yang dapat memengaruhi server Anda. Dengan menentukan kueri dengan waktu eksekusi yang sangat lamban, Anda memperoleh kemampuan untuk mengatasinya secara efektif dengan merestrukturisasi aplikasi yang bertanggung jawab atas kueri atau mengoptimalkan kueri itu sendiri. Pendekatan proaktif ini memastikan bahwa kueri Anda dibuat dengan efisiensi optimal, yang pada akhirnya mengarah pada peningkatan kinerja sistem secara keseluruhan.
Daftar isi
Pengenalan MySQL
MySQL adalah salah satu sistem manajemen basis data relasional sumber terbuka paling populer, banyak digunakan untuk menyimpan, mengelola, dan mengambil data untuk berbagai aplikasi web dan perangkat lunak. Seperti halnya sistem basis data yang canggih, MySQL menyediakan mekanisme logging yang kuat untuk mencatat informasi penting tentang aktivitas dan kinerjanya. Log ini memainkan peran penting dalam memantau dan memecahkan masalah perilaku basis data dan dapat memberikan wawasan berharga tentang kesehatan dan efisiensi sistem.
Jenis Log yang Dihasilkan oleh MySQL
Ada beberapa jenis log yang dihasilkan oleh MySQL, masing-masing melayani tujuan tertentu:
- Log Kueri Umum : Log ini mencatat setiap kueri SQL yang dijalankan di server, terlepas dari sumbernya. Ini adalah alat yang ampuh untuk men-debug dan memahami urutan kueri yang dijalankan, tetapi juga dapat menghasilkan data dalam jumlah besar, membuatnya cocok terutama untuk diagnostik jangka pendek.
- Log Kesalahan: Log Kesalahan menangkap setiap kesalahan yang ditemui selama operasi server MySQL. Kesalahan ini dapat mencakup masalah startup, shutdown, atau kesalahan kritis lainnya yang dapat memengaruhi fungsionalitas database. Pemantauan Log Kesalahan membantu administrator mengidentifikasi dan mengatasi potensi masalah dengan cepat.
- Log Kueri Lambat: Seperti disebutkan sebelumnya, Log Kueri Lambat merekam kueri yang membutuhkan waktu lebih lama dari ambang batas yang telah ditentukan untuk dijalankan. Log ini berperan penting dalam mengidentifikasi hambatan kinerja dan kueri yang tidak efisien, memungkinkan administrator untuk mengoptimalkan dan meningkatkan kinerja database secara keseluruhan.
- Log Biner: Log Biner berisi catatan semua perubahan data (penyisipan, pembaruan, dan penghapusan) yang dibuat ke database. Ini digunakan untuk tujuan replikasi, memungkinkan data disinkronkan di beberapa server MySQL.
- Relay Log: Relay Log khusus untuk replikasi MySQL. Ini menyimpan data yang diterima dari server master sebelum dijalankan di server budak dalam pengaturan replikasi.
Bagaimana Cara Mengaktifkan Log Kueri Lambat MySQL?
Di bawah ini adalah langkah-langkah untuk mengaktifkan log kueri lambat untuk MySQL atau MariaDB.
- Pertama, Anda harus masuk ke SSH menggunakan Bitwise. Buka Klien SSH Bitwise. Berikan detail host, port, dan nama pengguna Anda, lalu pilih kata sandi dari tarik-turun Metode Awal, dan lanjutkan dengan mengeklik tombol masuk. Munculan akan muncul, meminta Anda untuk memasukkan kata sandi SSH Anda. Masukkan kata sandi SSH di bidang yang disediakan.
2. Akses file /etc/mysql/my.cnf menggunakan editor teks. Untuk ini, pertama buka Jendela SFTP Baru dari Bitwise SSH Client.
Sekarang, ketik /etc di bilah pencarian file Remote dan tekan enter.
Buka file mysql atau MariaDB.
Sekarang pilih my.cnf, klik kanan dan klik edit.
Editor teks akan muncul. Salin perintah berikut, rekatkan di bagian bawah file, dan simpan.
slow_query_log = 1 slow-query_log_file = /var/log/mysql-slow.log long_query_time = 2
3. Sekarang buka terminal Bitwise dan jalankan perintah berikut untuk menghasilkan file /var/log/mysql-slow.log dan tetapkan pengguna mysql sebagai pemiliknya.
touch /var/log/mysql-slow.log chown mysql:mysql /var/log/mysql-slow.log
4. Untuk me-restart MySQL atau MariaDB, jalankan perintah di bawah ini.
/usr/local/cpanel/scripts/restartsrv_mysql
Baca Log Kueri Lambat MySQL
Akses file yang berisi log kueri lambat menggunakan:
/var/log/mysql/mysql-slow.log
Di dalam file log, setiap kueri lambat dicatat sebagai entri. Entri ini biasanya menyertakan detail seperti stempel waktu, waktu eksekusi kueri, jumlah baris yang diperiksa, dan pernyataan SQL yang sebenarnya.
Daripada langsung membaca log kueri yang lambat, sering kali lebih bermanfaat menggunakan perintah "mysqldumpslow" untuk mengurai dan meringkas konten log. Anda dapat menjalankan perintah saat login sebagai root melalui SSH, sebagai berikut:
sudo -i mysqldumpslow /var/log/mysql/mysql-slow.log
Di bawah ini akan diperoleh output:
FAQ
Apa tujuan dari perintah mysqldumpslow?
Perintah mysqldumpslow berfungsi untuk mem-parsing dan meringkas konten MySQL Slow Query Log. Ini memungkinkan Anda mengekstrak informasi berharga dari file log, termasuk detail tentang kueri lambat yang paling sering muncul dan waktu eksekusinya masing-masing. Dengan menjalankan mysqldumpslow /var/log/mysql/mysql-slow.log , Anda dapat menganalisis dan mendapatkan wawasan secara efektif dari kueri yang lambat dengan cara yang efisien.
Bisakah saya menggunakan Slow Query Log untuk pemantauan jangka panjang?
Meskipun Slow Query Log terbukti bermanfaat untuk diagnostik jangka pendek, mengaktifkannya untuk waktu yang lama dapat menghasilkan volume data yang substansial. Untuk memfasilitasi pemantauan jangka panjang, disarankan untuk mengeksplorasi pendekatan alternatif, seperti menggunakan alat pemantauan dan solusi analisis kinerja. Melakukan hal itu membantu mencegah meluapnya log dengan entri yang berlebihan dan memastikan pengelolaan kinerja database yang efektif dari waktu ke waktu.
Bagaimana Slow Query Log dapat membantu mendiagnosis masalah kinerja database?
Log Kueri Lambat memainkan peran penting dalam mendiagnosis masalah kinerja database karena mengidentifikasi kueri dengan waktu eksekusi yang lambat. Melalui analisis kueri yang lambat ini, administrator dapat dengan tepat menemukan hambatan kinerja dan ketidakefisienan dalam database. Berbekal informasi ini, mereka dapat melanjutkan untuk mengoptimalkan kueri, merestrukturisasi aplikasi, atau menerapkan perubahan penting untuk meningkatkan kinerja sistem secara keseluruhan secara signifikan.
Bagaimana cara mengoptimalkan kueri berdasarkan informasi dari Slow Query Log?
Setelah mengidentifikasi kueri lambat dari log, Anda memiliki kesempatan untuk mengoptimalkannya melalui berbagai metode. Ini termasuk menambahkan indeks yang sesuai, menulis ulang kueri, atau merestrukturisasi skema database. Selain itu, menggunakan teknik pengoptimalan kueri seperti EXPLAIN dan pemrofilan dapat memberikan wawasan yang berharga dan berkontribusi pada peningkatan kinerja kueri yang signifikan.
Apakah Slow Query Log hanya berlaku untuk MySQL, atau dapatkah digunakan dengan sistem database lain?
Log Kueri Lambat dirancang khusus untuk sistem database MySQL dan MariaDB. Sementara sistem manajemen basis data lain mungkin menawarkan fitur yang sebanding, penting untuk diperhatikan bahwa format log dan metode aktivasi dapat bervariasi di antara sistem yang berbeda.