Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Profiler kueri
Dokumen ini menjelaskan Query profiler, alat grafis untuk menganalisis komponen dan kinerja kueri.
Query profiler adalah fitur pemantauan dan pemecahan masalah kueri yang dapat dilihat melalui konsol Amazon Redshift. Ini membantu untuk menganalisis kinerja kueri. Tujuan utamanya adalah untuk menunjukkan urutan visual dan grafis, rencana eksekusi, dan statistik tentang kueri, dan membuatnya lebih mudah dipahami dan dipecahkan. Query profiler membantu Anda menganalisis jenis komponen kueri berikut:
Kueri anak - Kueri anak adalah bagian dari pekerjaan dari kueri. Amazon Redshift dapat membagi kueri menjadi beberapa kueri turunan jika lebih efisien daripada memprosesnya sebagai satu kueri besar. Di profiler Anda dapat melihat properti dari setiap kueri anak. Kueri anak terdiri dari aliran dan sub-komponen tambahan.
Jenis kueri anak yang ditampilkan oleh profiler Query biasanya mencakup yang berikut:
Kueri tabel temp: Teks kueri anak ini dimulai dengan
CREATE TEMP TABLE
perintah. Kueri anak ini membuat tabel sementara untuk kueri turunan lainnya untuk diproses.Kueri statistik: Profiler kueri menambahkan komentar berikut ke awal kueri anak ini untuk membantu mengidentifikasinya:
-- collect statistics of child query
queryID
Kueri anak ini mengumpulkan informasi yang digunakan mesin kueri Amazon Redshift untuk mengoptimalkan kinerja.
catatan
Query Profiler menampilkan kueri yang disediakan pengguna sebagai kueri turunan terakhir yang dijalankan Amazon Redshift.
Stream — Stream adalah kumpulan segmen yang dibagi di atas irisan node komputasi yang tersedia. Setiap kueri anak terdiri dari satu atau lebih segmen. Di Query profiler, Anda dapat melihat properti dari setiap aliran, seperti waktu eksekusi. Dengan melirik daftar aliran, kemungkinan Anda dapat dengan cepat menemukan kemacetan kinerja.
Segmen — Segmen adalah kombinasi dari beberapa langkah yang dapat dijalankan oleh satu proses. Segmen juga merupakan unit kompilasi terkecil yang dapat dieksekusi oleh irisan node komputasi. Slice adalah unit pemrosesan paralel di Amazon Redshift. Segmen dalam aliran berjalan secara paralel. Profiler kueri tidak menampilkan segmen secara grafis, tetapi Anda dapat mengakses informasi segmen untuk langkah di panel detail langkah tersebut.
Langkah - Setiap segmen terdiri dari kumpulan langkah. Langkah adalah bagian dari pekerjaan dalam kueri. Langkah-langkah dapat mencakup hashjoin, misalnya, atau pemindaian, yang merupakan pembacaan catatan dari tabel.
Untuk informasi selengkapnya tentang aliran, segmen, dan langkah, lihat Alur kerja perencanaan dan eksekusi kueri di Panduan Pengembang Database Amazon Redshift.
Query profiler menampilkan informasi yang dikembalikan olehSYS_QUERY_HISTORY
,SYS_QUERY_DETAIL
,SYS_QUERY_EXPLAIN
, dan SYS_CHILD_QUERY_TEXT
tampilan. Untuk informasi selengkapnya tentang tampilan ini, lihat SYS_QUERY_HISTORY, SYS_QUERY_DETAIL, SYS_QUERY_EXPLAIN, dan SYS_CHILD_QUERY_TEXT di Panduan Pengembang Database Amazon Redshift.
Query profiler hanya menampilkan informasi query untuk query yang baru saja berjalan pada database. Kueri yang selesai menggunakan data cache yang telah diisi sebelumnya daripada berjalan terhadap database tidak akan memiliki profil kueri jika informasi sebelumnya tidak tersedia untuk itu. Ini karena Amazon Redshift tidak menghasilkan paket kueri untuk itu.
Prasyarat untuk menggunakan Query profiler
Tampilan pemantauan SYS dirancang untuk kemudahan penggunaan dan mengurangi kompleksitas, menyediakan rangkaian metrik lengkap untuk pemantauan dan pemecahan masalah yang efektif. Tampilan pemantauan SYS juga menjamin riwayat kueri selama tujuh hari terakhir terlepas dari ukuran atau aktivitas cluster. Pengguna hanya memiliki visibilitas untuk kueri yang mereka jalankan, sementara pengguna super memiliki visibilitas untuk kueri dari semua pengguna.
Akun pengguna atau peran IAM Anda memerlukan izin untuk mengakses bagian Kueri dan pemantauan basis data konsol. Bagian ini menjelaskan cara menambahkan izin ke akun atau peran pengguna.
Gunakan kebijakan berikut untuk menambahkan izin minimum ke akun atau peran pengguna IAM Anda:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces", "redshift-serverless:ListWorkgroups", "redshift-data:ExecuteStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult" ], "Resource": [ "arn:aws:redshift-serverless:<your-namespace>", "arn:aws:redshift-serverless:<your-workgroupname>", "arn:aws:redshift:<your-clustername>" ] } ] }
Memberikan izin pemantauan kueri untuk peran
Pengguna dengan peran yang memiliki sys:monitor
izin dapat melihat semua kueri. Pengguna dengan peran yang memiliki sys:operator
izin dapat membatalkan kueri, menganalisis riwayat kueri, dan melakukan operasi vakum.
Untuk memberikan izin pemantauan kueri untuk peran
Gunakan perintah berikut untuk menyediakan akses monitor sistem, di mana
role-name
nama peran yang ingin Anda berikan aksesnya.grant role sys:monitor to "IAMR:
role-name
";(Opsional) Gunakan perintah berikut untuk menyediakan akses operator sistem, di mana
role-name
nama peran yang ingin Anda berikan aksesnya.grant role sys:operator to "IAMR:
role-name
";
Memberikan izin pemantauan kueri untuk pengguna
Pengguna dengan sys:monitor
izin dapat melihat semua kueri. Pengguna dengan sys:operator
izin dapat membatalkan kueri, menganalisis riwayat kueri, dan melakukan operasi vakum.
Untuk memberikan izin pemantauan kueri bagi pengguna
Gunakan perintah berikut untuk menyediakan akses monitor sistem, di mana
user-name
nama pengguna yang ingin Anda berikan aksesnya.grant role sys:monitor to "IAMR:
user-name
";(Opsional) Gunakan perintah berikut untuk menyediakan akses operator sistem, di mana
-name
adalah nama pengguna yang ingin Anda berikan aksesnya.grant role sys:operator to "IAMR:
user-name
";
Mengakses profiler Kueri di konsol Amazon Redshift untuk menganalisis kueri
Anda dapat mengakses Query Profiler untuk Amazon Redshift tanpa server atau Amazon Redshift yang disediakan. Lihat bagian berikut untuk detailnya:
Topik
Mengakses profiler Kueri di konsol Amazon Redshift untuk Amazon Redshift Tanpa Server
Untuk mengakses profiler Query untuk Amazon Redshift Serverless, lakukan hal berikut:
Buka konsol tanpa server Amazon Redshift.
Pada panel navigasi, di bawah Monitoring, pilih Query dan pemantauan database.
Pilih workgroup.
Pilih Query dan pemantauan database.
Pilih kueri.
Pilih tab Query plan di halaman Query details.
Jika paket kueri tersedia, Anda akan melihat daftar kueri anak. Pilih kueri untuk melihatnya di Query profiler.
Mengakses profiler Kueri di konsol Amazon Redshift untuk Amazon Redshift Disediakan
Untuk mengakses profiler Kueri untuk Amazon Redshift Provisioned, lakukan hal berikut:
Buka dasbor cluster Amazon Redshift Provisioned.
Pilih cluster
Pilih Pemantauan kueri.
Connect ke database
Pilih Query dan pemantauan database.
Pilih kueri.
Jika paket kueri tersedia, Anda akan melihat daftar kueri anak. Pilih kueri untuk melihatnya di Query profiler.
Antarmuka pengguna profiler kueri
Query profiler menggunakan halaman berikut untuk menampilkan informasi tentang kueri Anda:
Halaman detail kueri— Halaman ini menampilkan statistik dan kueri anak untuk kueri Anda.
Halaman kueri anak— Halaman ini menampilkan statistik, aliran, dan representasi visual dari rencana eksekusi untuk kueri anak. Konsol menampilkan halaman ini saat Anda memilih kueri anak dari daftar kueri Anak di halaman Query dan pemantauan database.
Halaman detail kueri

Halaman detail Query memiliki komponen-komponen berikut:
Panel atas — Panel di bagian atas halaman menampilkan detail tentang kueri, seperti status dan jenis. Untuk informasi tentang sumber informasi yang ditampilkan panel atas, lihat SYS_QUERY_HISTORY di Panduan Pengembang Database Amazon Redshift.
Tab SQL - Tab panel bawah ini menunjukkan teks SQL untuk kueri pengguna asli.
Tab paket kueri — Tab panel bawah ini menampilkan daftar kueri anak yang digunakan Amazon Redshift untuk menyiapkan data dan statistik untuk kueri pengguna. Secara default, daftar kueri Anak menampilkan informasi dan statistik agregat tentang setiap kueri anak. Untuk informasi tentang sumber informasi yang ditampilkan halaman ini, lihat SYS_QUERY_DETAIL di Panduan Pengembang Database Amazon Redshift.
Anda dapat menambah atau menghapus kolom dari daftar kueri Anak menggunakan menu Preferensi.
Metrik terkait - Tab panel bawah ini menunjukkan CloudWatch metrik berikut untuk kueri:
Kapasitas RPU yang digunakan (untuk kelompok kerja tanpa server): Kapasitas komputasi yang digunakan oleh kueri, diukur dalam Unit Pemrosesan Redshift (). RPUs Untuk informasi selengkapnya, lihat Kapasitas komputasi untuk Amazon Redshift Serverless.
Status kesehatan cluster, Pemanfaatan CPU, Kapasitas penyimpanan yang digunakan (untuk klaster yang disediakan): Status dan sumber daya sistem kueri yang digunakan.
Koneksi database aktif:
DatabaseConnections
metrik untuk kueri.
Untuk informasi selengkapnya tentang CloudWatch metrik, lihatData kinerja di Amazon Redshift.
Halaman kueri anak

Halaman kueri Anak memiliki komponen berikut:
Pulldown kueri anak — Kontrol ini menunjukkan nama urutan dan waktu eksekusi untuk setiap kueri anak. Anda dapat menavigasi ke kueri anak lain dengan memilihnya di kontrol ini.
Panel samping - Panel ini berisi tab untuk menampilkan aliran kueri anak dan teks kueri anak.
Tab aliran kueri anak - Tab panel atas ini menampilkan yang berikut:
Streams - Panel ini menampilkan daftar aliran dalam kueri anak. Panel ini menampilkan informasi dan data agregat tentang aliran yang digunakan Amazon Redshift untuk mengoptimalkan kueri. Untuk informasi tentang detail di panel ini, lihat SYS_QUERY_DETAIL di Panduan Pengembang Database Amazon Redshift.
Anda dapat menambah atau menghapus kolom dari panel Streams menggunakan menu Preferensi. Anda mengakses menu Preferensi menggunakan ikon roda gigi di panel Streams.
Panel kueri anak — Representasi grafis dari langkah-langkah dalam kueri anak. Untuk informasi tentang panel kueri Anak, lihat Panel kueri anak berikut.
Tab teks kueri anak - Tab panel atas ini menunjukkan kode SQL untuk kueri anak.
Panel detail kueri anak — Panel di panel kanan ini menampilkan detail tentang kueri anak. Untuk informasi tentang detail di panel ini, lihat SYS_QUERY_DETAIL di Panduan Pengembang Database Amazon Redshift.
Panel detail streaming — Saat Anda memilih aliran di panel Streams, panel Detail Stream menampilkan informasi tentang aliran. Untuk informasi tentang detail di panel ini, lihat SYS_QUERY_DETAIL di Panduan Pengembang Database Amazon Redshift.
Panel detail langkah — Bila Anda memilih langkah di panel Streams atau grafik dalam paket kueri Anak, panel Detail langkah menampilkan informasi tentang langkah tersebut, Untuk informasi tentang detail di panel ini, lihat SYS_QUERY_DETAIL di Panduan Pengembang Database Amazon Redshift. :
Panel kueri anak
Profiler kueri menampilkan kueri anak di panel kueri Anak sebagai representasi grafis dari langkah-langkah dalam kueri anak yang dipilih.
Panel kueri Anak menampilkan urutan proses dan hubungan antara langkah-langkah. Misalnya, jika sebuah langkah menggabungkan output dari dua langkah lainnya, panel kueri Anak menunjukkan langkah sebagai simpul pohon dengan dua node yang dimasukkan ke dalamnya:

Panel kueri Anak tidak menampilkan aliran yang berisi langkah-langkah secara default. Untuk menampilkan aliran yang digunakan Amazon Redshift untuk secara logis mempartisi langkah-langkah dalam kueri turunan, pilih Lihat aliran. Saat Anda memilih Lihat aliran, panel kueri Anak menunjukkan langkah-langkah yang terkandung dalam aliran kueri.
Panel kueri Anak tidak menampilkan informasi segmen. Untuk melihat segmen untuk satu langkah, pilih langkahnya. Panel Detail langkah kemudian menunjukkan segmen untuk langkah tersebut.
Navigasi di panel kueri Anak
Di panel kueri Anak, Anda dapat memilih langkah-langkah untuk melihat informasi rinci tentang mereka. Anda juga dapat menggeser dan memperbesar ruang kerja untuk memvisualisasikan langkah-langkah dalam rencana kueri dengan lebih baik.
Anda dapat memilih node, menggeser, dan memperbesar paket kueri Child menggunakan metode berikut:
Menggunakan mouse - Anda dapat memilih node, klik dan seret ruang kerja untuk menggeser, dan tahan
Ctrl
(Windows) atauCMD
(Mac) dan roda mouse untuk memperbesar. Memilih node menyebabkan ruang kerja memperbesar dan menggeser untuk menyorot node itu. Jika Anda memilih aliran di ruang kerja, aliran tersebut akan disorot dalam daftar Streams. Jika Anda memilih langkah di ruang kerja, panel Detail langkah menampilkan informasi tentang langkah itu.Menggunakan kontrol zoom dan fit di kiri atas ruang kerja - Kontrol ini memungkinkan Anda memperbesar, memperkecil, memperbesar agar sesuai dengan seluruh ruang kerja, dan masuk ke mode layar penuh. Saat Anda memperbesar agar sesuai dengan seluruh rencana kueri, ruang kerja memusatkan rencana kueri baik secara horizontal maupun vertikal.
Menggunakan minimap di kanan bawah ruang kerja - Anda dapat menggeser atau memperbesar ruang kerja dengan menggunakan kontrol minimap di sudut kiri bawah ruang kerja.
Memilih aliran di panel Streams — Jika Anda memilih aliran di panel Streams, ruang kerja akan menggeser dan memperbesar untuk menampilkan aliran yang dipilih, dan menampilkan informasi tentang aliran di panel Detail aliran.
Memilih langkah di panel Streaming details — Jika Anda memilih langkah di panel Streaming details, ruang kerja akan menggeser dan memperbesar untuk menampilkan langkah yang dipilih, dan menampilkan informasi tentang langkah di panel Detail langkah.
catatan
Saat Anda memilih langkah, baik di ruang kerja atau panel yang berbeda, ruang kerja mencoba memperbesar dan menggeser sedemikian rupa sehingga langkah yang dipilih paling terlihat.
Saat Anda memilih aliran atau langkah dari ruang kerja atau panel lain, ruang kerja hanya akan memperbesar dan menggeser ke aliran atau langkah itu jika Anda memilih Pan & Zoom di kontrol kanan atas di ruang kerja. Anda dapat membatasi perilaku ini untuk panning dan zooming, panning saja, atau tidak ada gerakan dengan memilih pengaturan yang sesuai di pulldown.

Memecahkan masalah kueri dengan Query profiler
Jika Anda memecahkan masalah kueri, Anda dapat memilih kueri turunan untuk menentukan aliran mana yang menggunakan Persentase tertinggi dari total waktu kueri. Ini adalah cara cepat untuk menentukan bagian mana dari kueri Anda yang harus dianalisis lebih lanjut.
Setelah Anda mengetahui kueri anak mana yang paling banyak memakan waktu, lihat langkah-langkahnya untuk melihat gabungan atau pemindaian mana yang mungkin menyebabkan kinerja lambat.