Menggunakan pelacak kueri Jelajahi dan panel Performa untuk memantau performa kueri

Pelacak kueri Eksplorasi dan panel Performa Eksplorasi memberikan data performa langkah demi langkah untuk kueri Eksplorasi. Data ini dapat membantu mengidentifikasi titik entri utama untuk memecahkan masalah dan menyelesaikan masalah performa dengan kueri serta memberikan rekomendasi untuk peningkatan.

Pelacak kueri Eksplorasi

Pelacak kueri Eksplorasi menampilkan progres kueri Eksplorasi melalui tiga fase kueri saat kueri berjalan.

Jika kueri memerlukan waktu lama untuk dieksekusi, pelacak kueri dapat menunjukkan fase kueri mana yang menyebabkan masalah performa. Hal ini berguna untuk mengidentifikasi tempat masalah performa dapat terjadi, dan tempat upaya pengoptimalan dapat menjadi yang paling efektif.

Pelacak kueri ditampilkan saat Eksplorasi berjalan, selama salah satu panel Eksplorasi Visualisasi atau panel Data Eksplorasi terbuka.

Panel Performa Eksplorasi

Untuk melihat panel Performa Eksplorasi, klik link Lihat detail performa, yang tersedia di kueri Eksplorasi yang telah dijalankan.

Panel Performa menampilkan waktu yang dihabiskan kueri di setiap dari tiga fase kueri dan menyertakan link ke dokumentasi performa dan dasbor Aktivitas Sistem Histori Kueri, yang menampilkan data performa saat ini dan historis untuk kueri dan Eksplorasi yang digunakan untuk membuat kueri.

Fase kueri

Saat Looker Explore menjalankan kueri database, kueri akan dieksekusi dalam tiga fase, sebagai berikut:

Fase Inisialisasi Kueri

Selama fase Inisialisasi Kueri, Looker melakukan semua tugas yang diperlukan sebelum kueri dikirim ke database Anda. Fase Inisialisasi Kueri mencakup tugas berikut:

Halaman dokumentasi Memahami metrik performa kueri menjelaskan cara menggunakan Eksplorasi Metrik Performa Kueri di Aktivitas Sistem untuk melihat perincian kueri yang mendetail. Fase Inisialisasi kueri pelacak kueri mencakup peristiwa yang dijelaskan dalam Fase pekerja asinkron, Fase inisialisasi, dan Fase penanganan koneksi dari Eksplorasi Metrik Performa Kueri.

Fase Kueri yang Berjalan

Fase Kueri yang Berjalan adalah saat Looker menghubungi dan membuat kueri database Anda serta menampilkan hasil kueri. Masalah performa selama fase ini dapat menunjukkan masalah dengan database eksternal, seperti PDT yang memerlukan waktu lama untuk dibangun kembali dan mungkin perlu dioptimalkan, atau tabel database eksternal yang mungkin perlu dioptimalkan. Fase Kueri yang Berjalan mencakup tugas berikut:

  • Membuat PDT di database yang diperlukan untuk kueri Eksplorasi
  • Menjalankan kueri yang diminta di database

Halaman dokumentasi Memahami metrik performa kueri menjelaskan cara menggunakan Eksplorasi Metrik Performa Kueri di Aktivitas Sistem untuk melihat perincian kueri yang mendetail. Fase Kueri yang berjalan pelacak kueri mencakup peristiwa yang dijelaskan dalam Fase kueri utama dari Eksplorasi Metrik Performa Kueri.

Langkah-langkah yang dapat dilakukan jika Anda mengalami masalah performa selama fase ini mencakup hal berikut:

  • Buat Eksplorasi menggunakan many_to_one gabungan jika memungkinkan. Menggabungkan tabel virtual dari tingkat paling terperinci ke tingkat detail tertinggi (many_to_one) biasanya memberikan performa kueri terbaik.
  • Maksimalkan penyimpanan cache untuk disinkronkan dengan kebijakan ETL Anda jika memungkinkan untuk mengurangi traffic kueri database. Secara default, Looker menyimpan kueri dalam cache selama satu jam. Anda dapat mengontrol kebijakan penyimpanan cache dan menyinkronkan refresh data Looker dengan proses ETL Anda dengan menerapkan grup data dalam Eksplorasi menggunakan parameter persist_with. Memaksimalkan penyimpanan cache memungkinkan Looker berintegrasi lebih erat dengan pipeline data backend, sehingga penggunaan cache dapat dimaksimalkan tanpa risiko menganalisis data yang usang. Kebijakan penyimpanan cache bernama dapat diterapkan ke seluruh model atau ke Eksplorasi dan tabel turunan persisten (PDT) tertentu.
  • Gunakan fitur aggregate awareness Looker untuk membuat tabel rollup atau ringkasan yang dapat digunakan Looker untuk kueri jika memungkinkan, terutama untuk kueri umum database besar. Anda juga dapat menggunakan aggregate awareness untuk secara drastis meningkatkan performa seluruh dasbor. Lihat tutorial Aggregate awareness untuk informasi tambahan.
  • Gunakan PDT untuk kueri yang lebih cepat. Konversi Eksplorasi dengan banyak gabungan yang kompleks atau tidak berperforma baik, atau dimensi dengan subkueri atau subpilihan, menjadi PDT sehingga tabel virtual digabungkan terlebih dahulu dan siap sebelum runtime.
  • Jika dialek database Anda mendukung PDT inkremental, konfigurasi PDT inkremental untuk mengurangi waktu yang dihabiskan Looker untuk membangun kembali tabel PDT.
  • Hindari menggabungkan tabel virtual ke dalam Eksplorasi pada kunci utama gabungan yang ditentukan di Looker. Sebagai gantinya, gabungkan kolom dasar yang membentuk kunci utama gabungan dari tabel virtual. Atau, buat ulang tabel virtual sebagai PDT dengan kunci utama gabungan yang telah ditentukan sebelumnya dalam definisi SQL tabel, bukan dalam LookML tabel virtual.
  • Gunakan alat Explain di SQL Runner untuk benchmarking. EXPLAIN menghasilkan ringkasan rencana eksekusi kueri database Anda untuk kueri SQL tertentu, sehingga Anda dapat mendeteksi komponen kueri yang dapat dioptimalkan. Pelajari lebih lanjut di postingan Komunitas Cara mengoptimalkan SQL dengan EXPLAIN.
  • Deklarasikan indeks. Anda dapat melihat indeks setiap tabel langsung di Looker dari SQL Runner dengan mengklik ikon roda gigi di tabel, lalu memilih Tampilkan Indeks.

    Kolom yang paling umum yang dapat memanfaatkan indeks adalah tanggal penting dan kunci asing. Menambahkan indeks ke kolom ini akan meningkatkan performa untuk hampir semua kueri. Hal ini juga berlaku untuk PDT. Parameter LookML, seperti indexes, sort keys, dan distribution, dapat diterapkan dengan tepat.

Fase Hasil Pemrosesan

Selama fase Hasil Pemrosesan, Looker memproses dan merender hasil kueri. Fase Hasil Pemrosesan mencakup tugas berikut:

Halaman dokumentasi Memahami metrik performa kueri menjelaskan cara menggunakan Eksplorasi Metrik Performa Kueri di Aktivitas Sistem untuk melihat perincian kueri yang mendetail. Fase Hasil Pemrosesan pelacak kueri mencakup peristiwa yang dijelaskan dalam Fase pasca-kueri dari Eksplorasi Metrik Performa Kueri.

Langkah-langkah yang dapat dilakukan jika Anda mengalami masalah performa selama fase ini mencakup:

  • Gunakan fitur seperti gabungkan hasil, kolom kustom, dan kalkulasi tabel dengan hemat. Fitur ini dimaksudkan untuk digunakan sebagai bukti konsep untuk membantu mendesain model Anda. Praktik terbaiknya adalah meng-hardcode kalkulasi dan fungsi yang sering digunakan di LookML, yang akan menghasilkan SQL untuk diproses di database Anda. Kalkulasi yang berlebihan dapat bersaing untuk memori Java di instance Looker, sehingga instance Looker merespons lebih lambat.
  • Batasi jumlah tabel virtual yang Anda sertakan dalam model jika ada banyak file tabel virtual. Menyertakan semua tabel virtual dalam satu model dapat memperlambat performa. Jika ada banyak tabel virtual dalam project, pertimbangkan untuk hanya menyertakan file tabel virtual yang diperlukan dalam setiap model. Pertimbangkan untuk menggunakan konvensi penamaan strategis untuk nama file tabel virtual guna memungkinkan penyertaan grup tabel virtual dalam model. Contohnya diuraikan dalam includes dokumentasi parameter.
  • Hindari menampilkan sejumlah besar titik data secara default dalam petak dasbor dan Look. Kueri yang menampilkan ribuan titik data akan menggunakan lebih banyak memori. Pastikan data dibatasi jika memungkinkan dengan menerapkan filter frontend ke dasbor, Look, dan Eksplorasi, serta di tingkat LookML dengan parameter required filters, conditionally_filter, dan sql_always_where.
  • Download atau kirim kueri menggunakan opsi Semua Hasil dengan hemat, karena beberapa kueri dapat berukuran sangat besar dan membebani server Looker saat diproses.