Tutorial: Wawasan Performa Kueri untuk Azure Database for MySQL - Server Fleksibel

BERLAKU UNTUK: Azure Database for MySQL - Server Fleksibel

Wawasan Performa Kueri mengusulkan untuk memberikan analisis kueri cerdas untuk database. Wawasan yang paling disukai adalah pola beban kerja dan kueri yang berjalan lebih lama. Pemahaman akan wawasan ini dapat membantu Anda dalam menemukan kueri mana yang akan dioptimalkan untuk meningkatkan seluruh performa dan menggunakan sumber daya yang tersedia secara efisien.

Wawasan Performa Kueri dirancang untuk membantu Anda memecahkan masalah performa database secara lebih singkat dengan memberikan informasi seperti:

  • Kueri N berdurasi lama teratas sekaligus kecenderungannya.
  • Detail kueri: menampilkan riwayat eksekusi dengan waktu kueri minimum, maksimum, dan rata-rata, dan simpangan baku.
  • Pemanfaatan sumber daya (CPU, memori dan penyimpanan).

Artikel ini membahas cara menggunakan log kueri lambat server fleksibel Azure Database for MySQL, alat Analitik Log, dan templat buku kerja untuk memvisualisasikan Wawasan Performa Kueri untuk server fleksibel Azure Database for MySQL.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Mengonfigurasi log kueri lambat dengan menggunakan portal Microsoft Azure atau Azure CLI
  • Menyiapkan diagnostik
  • Menampilkan log kueri lambat dengan menggunakan Log Analytics
  • Menampilkan log kueri lambat dengan menggunakan buku kerja

Prasyarat

Mengonfigurasi log kueri lambat dengan menggunakan portal Microsoft Azure

  1. Masuk ke portal Azure.

  2. Pilih instans server fleksibel Azure Database for MySQL Anda.

  3. Di panel kiri, pada Pengaturan, pilih Parameter server.

    Screenshot showing the 'Server parameters' list.

  4. Untuk parameter slow_query_log, pilih ON.

    Screenshot showing the 'slow_query_log' parameter switched to 'ON'.

  5. Untuk parameter lain, seperti long_query_time dan log_slow_admin_statements, lihat dokumentasi log kueri lambat.

    Screenshot showing updated values for the remaining slow query log-related parameters.

  6. Pilih Simpan.

    Screenshot of the 'Save' button for saving changes in the parameter values.

Anda dapat kembali ke daftar log dengan menutup halaman Parameter server.

Mengonfigurasi log kueri lambat dengan menggunakan Azure CLI

Atau, Anda dapat mengaktifkan dan mengonfigurasi log kueri lambat untuk instans server fleksibel Azure Database for MySQL dari Azure CLI dengan menjalankan perintah berikut:

Penting

Untuk memastikan bahwa performa instans server fleksibel Azure Database for MySQL Anda tidak sangat terpengaruh, kami sarankan Anda hanya mencatat jenis peristiwa dan pengguna yang diperlukan untuk tujuan audit Anda.

  • Aktifkan log kueri lambat.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • Atur waktu long_query_time ke 10 detik. Pengaturan ini akan mencatat semua kueri yang dijalankan selama lebih dari 10 detik. Sesuaikan ambang ini berdasarkan definisi Anda untuk kueri lambat.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

Menyiapkan diagnostik

Log kueri lambat telah terintegrasi dengan pengaturan diagnostik Azure Monitor untuk memungkinkan Anda dalam menyalurkan log ke salah satu dari tiga data sink berikut:

  • Ruang kerja Log Analytics
  • Hub kejadian
  • Akun penyimpanan

Catatan

Anda harus membuat data sink Anda terlebih dahulu sebelum mengonfigurasi pengaturan diagnostik. Anda dapat mengakses log kueri lambat di data sink yang telah Anda konfigurasikan. Mungkin perlu waktu hingga 10 menit agar log muncul.

  1. Di panel kiri, di bawah Pemantauan, pilih Pengaturan diagnostik.

  2. Di panel Pengaturan diagnostik, pilih Tambahkan pengaturan diagnostik.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  3. Di kotak Nama, masukkan nama untuk pengaturan diagnostik.

  4. Tentukan tujuan mana (ruang kerja Log Analytics, hub kejadian, atau akun penyimpanan) sebagai tempat untuk mengirim log kueri lambat dengan memilih kotak centang yang sesuai.

    Catatan

    Untuk tutorial ini, Anda akan mengirim log kueri lambat ke ruang kerja Log Analytics.

  5. Pada Log, untuk jenis log, pilih kotak centang MySqlSlowLogs.

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

  6. Setelah Anda mengonfigurasi sink data untuk menyalurkan kueri lambat, pilih Simpan.

    Screenshot of Diagnostic settings configuration options, with Save highlighted.

Menampilkan wawasan kueri dengan menggunakan Log Analytics

  1. Di Log Analytics, pada panel sebelah kiri, pada Pemantauan, pilih Log.

  2. Tutup jendela Kueri yang akan terbuka.

    Screenshot of the Log Analytics 'Queries' pane.

  3. Pada jendela kueri, Anda dapat menulis kueri yang akan dijalankan. Untuk menemukan kueri dengan durasi lebih dari 10 detik di server tertentu, kami telah menggunakan kode berikut:

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. Pilih Rentang waktu, kemudian jalankan kueri. Hasilnya akan ditampilkan di gambar berikut:

    Screenshot of a slow query log.

Menampilkan wawasan kueri dengan menggunakan buku kerja

  1. Di portal Azure, di panel kiri, di bawah Pemantauan untuk instans server fleksibel Azure Database for MySQL Anda, pilih Buku Kerja.

  2. Pilih templat Wawasan Performa Kueri.

    Screenshot showing all workbooks in the workbook gallery.

Dalam buku kerja, Anda dapat melihat visualisasi berikut:

  • Beban Kueri
  • Total Koneksi Aktif
  • Tren Kueri Lambat (Waktu Kueri >10 detik)
  • Detail Kueri Lambat
  • Sebutkan 5 kueri terpanjang teratas
  • Ringkas kueri lambat dengan waktu kueri minimum, maksimum, rata-rata, dan simpangan baku

Screenshot showing two long queries.

Catatan

  • Untuk menampilkan pemanfaatan sumber daya, Anda dapat menggunakan templat Ringkasan.
  • Anda juga dapat mengedit templat ini dan menyesuaikannya dengan persyaratan Anda. Untuk informasi selengkapnya, lihat Azure Workbooks.
  • Untuk tampilan cepat, Anda juga dapat menyematkan buku kerja atau kueri Log Analytics ke Dasbor Anda. Untuk informasi lebih lanjut, lihat Membuat dasbor di portal Microsoft Azure.

Dua metrik dalam Wawasan Performa Kueri yang dapat membantu Anda dalam menemukan kemungkinan penyempitan yakni durasi dan jumlah eksekusi. Kueri yang berjalan lama adalah yang paling mungkin mengunci sumber daya lebih lama, memblokir pengguna lain, dan membatasi skalabilitas.

Dalam beberapa kasus, jumlah eksekusi yang tinggi dapat menyebabkan lebih banyak perjalanan pulang pergi jaringan. Komunikasi dua arah mempengaruhi performa. Hal ini tergantung pada latensi jaringan dan latensi server downstream. Sehingga jumlah eksekusi dapat membantu menemukan kueri yang sering dijalankan ("chatty"). Kueri-kueri ini merupakan kandidat terbaik untuk optimasi.

Langkah berikutnya