Apa itu penganalisa kueri mysql?

MySQL Slow Query Analyzer dari ScaleGrid membantu Anda dengan mudah mengidentifikasi kueri bermasalah di klaster MySQL Anda yang berjalan di cloud

Sarankan Suntingan

Slow Query Analyzer membantu Anda dengan mudah mengidentifikasi kueri masalah di cluster hosting MySQL Anda yang berjalan di ScaleGrid

Buat Laporan Peta Panas Kueri Lambat

  1. Arahkan ke halaman Detail MySQL Cluster Anda
  2. Klik pada tab 'Kueri Lambat'
  3. Pilih server yang ingin Anda analisis
  4. Pilih rentang waktu. Secara default Anda dapat memilih jam terakhir, 3 jam, 6 jam, 24 jam, atau rentang waktu khusus
  5. Klik profil untuk menganalisis kueri lambat MySQL Anda
Apa itu penganalisa kueri mysql?

Setelah selesai, Anda akan diberikan peta panas dari semua kueri di sistem Anda untuk rentang waktu yang Anda pilih. Semua kueri dengan jenis yang sama memiliki warna yang sama sehingga Anda bisa mendapatkan ide bagus tentang pengelompokan berbagai kueri yang berjalan di sistem Anda

Sumbu X untuk waktu, dan sumbu Y adalah durasi kueri. Semakin tinggi kueri, semakin lambat

Arahkan atau klik salah satu balon untuk mengetahui jenis kueri apa yang terkait dengannya. Anda juga dapat memperbesar rentang waktu tertentu untuk memahami secara detail apa yang terjadi selama periode waktu tersebut

Generator Beban Baca Atas

Di sisi kanan, kami menyajikan bagan pai untuk dengan mudah mengidentifikasi kueri teratas yang menyebabkan beban baca di sistem Anda. Ini adalah cara sekilas untuk mengidentifikasi kueri yang biasanya tidak diindeks

Apa itu penganalisa kueri mysql?

Laporan Tabel Detail Kueri Lambat

Jika Anda menggulir ke bawah, data disajikan dalam format tabel

  • Hitung (bawaan). Sortir kueri diurutkan berdasarkan frekuensi
  • Waktu eksekusi (milidetik). Urutkan berdasarkan kueri mana yang membutuhkan waktu maksimum untuk dieksekusi
  • Baris diperiksa. Urutkan berdasarkan kueri yang diperiksa - jumlah maksimum baris. Ini biasanya kueri yang tidak memiliki indeks
  • Baris dikembalikan. Urutkan berdasarkan kueri yang mengembalikan jumlah baris maksimum
  • Waktu kunci (milidetik). Urutkan kueri berdasarkan waktu penguncian
Apa itu penganalisa kueri mysql?

Sesuaikan Tampilan Kueri yang Difilter

Anda juga dapat mengontrol kueri mana yang muncul di peta panas jika Anda menginginkan peta panas khusus untuk kueri tertentu. Cukup pilih kotak centang di samping kueri tertentu yang Anda minati, dan hanya kueri tersebut yang akan muncul di peta panas

Anda juga dapat memfilter kueri berdasarkan string tertentu. Misalnya, jika Anda hanya ingin menganalisis kueri 'PILIH', masukkan string ini ke dalam kotak telusur di atas tabel dan ini akan memfilter kueri agar hanya menampilkan kueri dengan SELECT

Apa itu penganalisa kueri mysql?

Unduh Laporan Analisis Kueri Lambat Anda

Ekspor semua data analisis kueri lambat Anda dengan mudah

  • Unduh CSV. Ekspor dalam format CSV untuk dibuka di excel untuk analisis lebih lanjut, dan bagikan dengan tim Anda dan lakukan analisis offline apa pun yang Anda inginkan
  • Unduh PDF. Anda juga dapat mengekspor sebagai laporan dalam format PDF untuk dibagikan dengan tim Anda untuk tampilan yang lebih mendetail dari analisis kueri yang lambat

Di kanan atas, Anda juga dapat melihat analisis kueri lambat sebelumnya yang dijalankan di sistem Anda dan menganalisis melalui salah satu metode di atas

Sesuaikan Konfigurasi Penganalisis Kueri Lambat Anda

Secara default, ambang kueri lambat diatur ke 10 detik. Ikuti langkah-langkah ini untuk menyesuaikan konfigurasi Anda

  1. Arahkan ke tab 'Admin' di halaman Detail Cluster Anda
  2. Pilih tab 'Konfigurasi' di sebelah kiri
  3. Masukkan 'long_query_time' di kotak telusur
  4. Secara default, ini diatur ke 10 detik. Anda dapat mengubah ke nomor yang diinginkan untuk konfigurasi Anda
  5. Klik simpan untuk memperbarui yang dapat dikonfigurasi tanpa downtime di semua server Anda
Apa itu penganalisa kueri mysql?

Itu saja untuk penganalisa kueri lambat kami. Jika ada pertanyaan lebih lanjut, hubungi kami di [email protected]

Apakah ada Query Analyzer yang bagus untuk MySQL (yang gratis, atau memiliki uji coba), yang dapat menganalisis kueri dan memberikan saran untuk indeks, seperti "Tampilkan perkiraan rencana eksekusi" di studio manajemen Microsoft SQL Server?

Terintegrasi ke dalam Enterprise Monitor, Query Analyzer dirancang untuk membantu Pengembang dan DBA secara akurat menentukan kode SQL yang menyebabkan pelambatan, dengan cepat mendiagnosis ketidakefisienan dan mengembalikan aplikasi yang terpengaruh ke kinerja puncak. Untuk tujuan ini, Penganalisis Kueri memanfaatkan teknologi Proksi MySQL untuk memperluas Agen Layanan Monitor untuk mendengarkan pada port yang ditentukan pengguna untuk kueri aplikasi, mengumpulkan kode SQL dan metrik kinerja, lalu melaporkan hasilnya kembali ke Manajer Layanan untuk pemantauan dan

Konfigurasi

Konfigurasi Query Analyzer sangat mudah (dan didokumentasikan dengan sangat baik di Bab 10 dari dokumentasi Enterprise Monitor)

  • Agen Layanan monitor dipasang di setiap server MySQL untuk dipantau
  • Aplikasi yang dipantau dikonfigurasi untuk terhubung ke Agen Layanan pada port yang ditentukan pengguna (4040 secara default)
  • Agen Layanan terhubung ke server MySQL (server tunggal, master, baca budak)
  • Agen Layanan diaktifkan untuk mengumpulkan pertanyaan atau melayani sebagai pass-thru hingga diperlukan
  • Agen Layanan melaporkan MySQL, OS, dan metrik kueri kembali ke Manajer Layanan untuk pemantauan

Mengaktifkan pengumpulan kueri aktif dengan Agen Layanan yang diaktifkan Proksi dikontrol menggunakan Dasbor Perusahaan dan memungkinkan pengguna mengaktifkan pengumpulan kueri untuk server individual atau aplikasi lengkap. Setelah diaktifkan, Query Analyzer menyediakan DBA dengan tampilan agregat yang dapat dicari ke semua kueri, di semua server yang dipantau. Kueri disajikan dalam bentuk kanonis (tanpa variabel) dengan roll up untuk jumlah total eksekusi, total waktu eksekusi, total ukuran data, dan tanggal/waktu saat kueri "pertama kali terlihat"

Query Analyzer juga terintegrasi erat dengan grafik Enterprise Monitor. Untuk mengkorelasikan data grafik dengan aktivitas kueri, pengguna cukup menyorot area atau wilayah mana pun dari grafik apa pun dan meluncurkan Penganalisis Kueri dengan tampilan peka konteks ke dalam kueri yang berjalan pada waktu yang dipilih. Grafik eksekusi khusus kueri (jumlah eksekusi, waktu, rangkaian hasil) juga tersedia sehingga pengguna dapat melacak kinerja kueri mereka untuk jangka waktu tertentu

Menggunakan Data yang Dilaporkan Penganalisis Kueri

Query Analyzer dirancang untuk menghemat waktu penguraian DBA dan mengumpulkan metrik kueri atomik dari MySQL Slow Query Log dan baris perintah SHOW PROCESS LIST set hasil. Manfaat umum meliputi

  • Solusi pemantauan terintegrasi untuk semua versi MySQL (4. 1 dan lebih tinggi)
  • Konten permintaan agregat dan statistik kinerja secara real time tanpa ketergantungan pada log MySQL atau TAMPILKAN DAFTAR PROSES
  • Tampilan terkonsolidasi ke dalam aktivitas kueri di semua server MySQL, tidak perlu penguraian pengguna
  • Penjelajahan historis/analisis kueri di semua server MySQL
  • Gabungan semua kueri yang digabungkan dan dapat dicari dalam bentuk kanonis (tanpa variabel) dengan jumlah total eksekusi, total waktu eksekusi, total ukuran data, dan tanggal/waktu saat kueri “pertama kali dilihat”

Query Analyzer memberikan tampilan agregat ke kinerja kueri di semua server MySQL sehingga DBA dan Pengembang melihat total biaya SQL mereka. Metrik kinerja utama dan wawasan yang mereka berikan dirangkum di sini

  • Total Eksekusi oleh Kueri
    Ini membantu DBA/Pengembang melihat kueri yang berjalan terlalu sering atau dalam kesalahan. Ini juga membantu mengidentifikasi kueri yang merupakan kandidat untuk caching aplikasi atau kumpulan hasil yang mungkin lebih baik dipilih dari tabel ringkasan yang lebih kecil
  • Total Waktu Eksekusi oleh Kueri
    Ini mengidentifikasi kueri paling mahal di semua monitor server MySQL. Ini membantu DBA melihat di mana sistem menghabiskan waktu dan sumber daya paling banyak dan di mana upaya penyetelan harus difokuskan. Ini juga membantu untuk menentukan apakah beban pemrosesan kueri diseimbangkan di seluruh budak baca untuk lingkungan skala intensif baca
  • Ukuran Data Total (Baris dan Byte)
    Ini membantu analisis DBA jika ada kueri yang mengembalikan lebih banyak data daripada yang sebenarnya digunakan aplikasi. Mengurutkan nilai ini, memeriksa kueri yang mendasari dan membandingkan baris dan kolom yang dikembalikan dengan persyaratan aplikasi akan membuat DBA menyempurnakan aplikasi dan skema untuk kinerja yang lebih baik. Selain itu, kueri dengan waktu eksekusi yang tinggi, tetapi rangkaian hasil yang kecil merupakan indikasi bahwa kueri terlalu rumit atau kueri dengan jumlah baris yang tinggi di seluruh kolom yang tidak diindeks
  • "Pertama kali melihat"
    Hal ini memungkinkan DBA untuk memantau dengan mudah ketika kueri yang dikaitkan dengan penyebaran aplikasi baru memengaruhi kinerja sistem produksi. Ini juga menyediakan pemeriksaan keamanan cepat untuk melihat apakah ada kueri "nakal" yang memasuki lingkungan produksi

Penerapan Query Analyzer dan Kasus Penggunaan

Query Analyzer dapat diimplementasikan di lingkungan Pengembangan, QA, dan Produksi untuk membantu mendiagnosis dan menyesuaikan kode SQL. Penerapan yang paling umum dirangkum di bawah ini

Kueri Pemantauan dalam Pengembangan dan QA

Pengembang dapat menggunakan Penganalisis Kueri untuk memantau dan menyetel kode aplikasi mereka secara proaktif sebelum dipromosikan ke produksi. Dalam skenario ini aplikasi terhubung langsung ke port Proxy/Service Agent sedang mendengarkan (4040 secara default, tetapi dapat ditentukan pengguna). Proksi/Agen mendengarkan pada 4040 dan "proksi" aliran komunikasi ke server MySQL back-end untuk mengumpulkan kueri dan menggabungkan metrik kinerja. Data kueri dan metrik kinerja dikirim ke Monitor Perusahaan, kumpulan hasil kueri dikirim ke aplikasi yang meminta. Penting untuk diperhatikan bahwa Agen Proksi/Layanan terus mengumpulkan dan mengirimkan metrik khusus MySQL dan OS ke Monitor Perusahaan saat aplikasi terhubung ke port Agen Proksi/Layanan

Kueri Pemantauan di Lingkungan Produksi

DBA dan Administrator Sistem akan menganggap Query Analyzer berharga untuk menemukan kode SQL yang berjalan di lingkungan produksi mereka yang terlalu sering dijalankan, intensif sumber daya di seluruh server atau yang baru diterapkan dan menyebabkan penurunan kinerja. Penting untuk dicatat bahwa ada overhead yang dikaitkan dengan pengaktifan Query Analyzer dengan mengarahkan kueri aplikasi ke port yang ditentukan Proxy/Agen Layanan (4040 secara default, tetapi dapat ditentukan pengguna). Besarnya overhead bergantung pada aplikasi yang dipantau, beban permintaan rata-rata dan puncak, serta konten data yang diminta dan dikembalikan. Mengingat nilai dari data pemantauan kueri yang dikembalikan, beberapa DBA akan menemukan bahwa biaya overhead untuk mengaktifkan Penganalisis Kueri setiap saat dapat diterima untuk beberapa aplikasi produksi

Pengambilan Sampel Kueri yang Direncanakan/Terjadwal

Implementasi alternatif dari Penganalisis Kueri melibatkan pengambilan sampel kueri terencana selama jam non-puncak sistem dan memantau subset sistem produksi yang menangani muatan representatif dari kueri aplikasi yang dipantau. Untuk aplikasi pengambilan sampel yang direncanakan/dijadwalkan dan server web mendapatkan string koneksi mereka dari file yang disimpan di cache server aplikasi atau sistem file. Selama jam-jam non-sibuk, aplikasi "dengan anggun" dimulai ulang untuk menyambung ke port Proksi/Agen Layanan. Aplikasi mengarahkan kueri ke port yang ditentukan, tempat kueri dikumpulkan dan digabungkan, lalu dikirim ke Monitor Perusahaan untuk dianalisis. Kueri yang dikumpulkan adalah sampel representatif dari kueri yang dikirimkan sepanjang hari, sehingga DBA dapat melihat potensi kemacetan dan penyetelan yang dapat dilakukan untuk mempercepat aplikasi. Setelah sampel diambil, aplikasi kembali di-restart untuk terhubung ke server MySQL back-end. Penting untuk dicatat bahwa Agen Layanan terus mengumpulkan dan mengirim metrik khusus MySQL dan OS ke Monitor Perusahaan saat aplikasi terhubung ke port Proksi/Agen Layanan

Memantau Kueri pada Subset Server Produksi

Dalam penerapan ini, server aplikasi utama terhubung ke server MySQL back-end atau pertanian budak baca dengan beban seimbang dan 1 dikonfigurasi untuk mengarahkan kueri ke budak baca khusus yang dikonfigurasi untuk mendengarkan kueri di port Agen Proksi/Layanan. Query yang diarahkan ke read-slave ini mewakili query yang diarahkan ke semua read-slave, sehingga DBA dapat melihat potensi kemacetan dan penyetelan yang dapat dilakukan untuk mempercepat aplikasi. Penyebaran ini juga dapat digunakan bersama dengan pengambilan sampel produksi sehingga server aplikasi tertentu hanya mengarahkan kueri untuk analisis kueri untuk jendela waktu tertentu. Sekali lagi, penting untuk dicatat bahwa Agen Layanan terus mengumpulkan dan mengirim metrik khusus MySQL dan OS ke Monitor Perusahaan saat aplikasi terhubung ke port Proksi/Agen Layanan

Bagaimana cara kerja penganalisis kueri?

Penganalisis Kueri memungkinkan Anda memantau pernyataan SQL yang dieksekusi di server MySQL dan melihat detail tentang setiap kueri, serta jumlah eksekusi dan waktu eksekusi. Similar queries with different literal values are combined (“normalized”) for reporting purposes.

Bagaimana cara menggunakan penganalisis kueri SQL?

Untuk menjalankan kueri di Query Analyzer, pertama tempel konten ke Query Analyzer, lalu masuk ke toolbar dan pilih Query. Tampilkan Rencana Eksekusi. Selanjutnya, sorot SQL untuk dieksekusi dan tekan F5 . Gambar 3 menunjukkan hasil saya.

Apa itu SQL Analyzer?

Penganalisis SQL adalah alat yang digunakan untuk memantau server SQL dan dapat membantu pengguna menganalisis objek basis data untuk meningkatkan kinerja basis data .

Apa itu analisis kueri?

Analisis kueri adalah suatu proses yang digunakan dalam basis data yang menggunakan SQL untuk menentukan cara lebih lanjut mengoptimalkan kueri untuk kinerja . Analisis kueri adalah aspek penting dari pemrosesan kueri karena membantu meningkatkan keseluruhan kinerja pemrosesan kueri, yang akan mempercepat banyak fungsi dan aspek basis data.