All Products
Search
Document Center

E-MapReduce:Profil kueri

Last Updated:Jun 22, 2026

Profil kueri menangkap informasi eksekusi dari semua node pekerja yang terlibat dalam suatu kueri. Anda dapat menggunakannya untuk mengidentifikasi hambatan performa kueri secara cepat dalam instans StarRocks melalui analisis visual.

Aktifkan profil kueri

Untuk mengaktifkan profil kueri pada instans Anda, atur variabel enable_profile menjadi true.

SET enable_profile = true;
Catatan
  • Anda dapat mengaktifkan profil kueri secara global tanpa memengaruhi performa kueri jika instans Anda menggunakan kernel versi 2.5.13 atau lebih baru (seri 2.x) atau 3.1.5 atau lebih baru (seri 3.x).

  • Untuk versi kernel yang lebih lama dari yang disebutkan di atas, lakukan upgrade kernel sebelum mengaktifkan profil kueri guna menghindari penurunan performa kueri.

Struktur profil kueri

Profil kueri terdiri dari lima bagian berikut:

  • Fragment: Sebuah pohon eksekusi. Suatu kueri terdiri dari satu atau beberapa fragment.

  • Fragment instance: Suatu fragment dapat memiliki beberapa instance, masing-masing disebut fragment instance. Setiap instance berjalan pada node komputasi yang berbeda.

  • Pipeline: Rantai eksekusi. Pipeline terdiri dari serangkaian operator. Fragment instance dipecah menjadi satu atau beberapa pipeline.

  • Pipeline driver: Suatu pipeline dapat memiliki beberapa instance, masing-masing disebut pipeline driver, untuk memanfaatkan sepenuhnya multiple core.

  • Operator: Komponen dari pipeline driver. Pipeline driver terdiri dari beberapa operator.

Visualisasi Profil Kueri

StarRocks Manager memvisualisasikan Profil Kueri sebagai struktur pohon, di mana setiap node merepresentasikan Operator agregat. Klik suatu Operator untuk melihat detailnya pada tab di sisi kanan halaman. Jika tidak ada Operator yang dipilih, sisi kanan akan menampilkan ikhtisar Query.

Ikhtisar eksekusi

Halaman Execution Details menampilkan pohon rencana eksekusi visual di sebelah kiri. Setiap node operator diberi label waktu eksekusi dan persentasenya. Node yang mengonsumsi banyak waktu, seperti HASH_JOIN, disorot dengan warna merah. Garis antar node menunjukkan jumlah baris yang diproses. Di sisi kanan, bagian atas menampilkan daftar node yang diurutkan berdasarkan persentase waktu, sedangkan bagian bawah memberikan ikhtisar metrik ringkasan.

Halaman Execution Details menampilkan metrik ringkasan utama, termasuk waktu eksekusi, performa I/O, dan volume transfer data jaringan.

  • Total

    Metric

    Description

    Total

    Total waktu yang dikonsumsi oleh kueri. Ini mencakup durasi fase perencanaan, eksekusi, dan analisis.

    PlannerTotalTime

    Waktu perencanaan. Ini mencakup penguraian SQL, analisis, optimasi, dan pembuatan rencana eksekusi.

    ExecutionWallTime

    Waktu eksekusi kueri dan waktu eksekusi sisi BE (waktu dinding eksekusi).

    CollectProfileTime

    Waktu pengumpulan profil. Ini adalah waktu yang dihabiskan untuk mengumpulkan metrik profil dari BE.

  • Waktu eksekusi

    Metric

    Description

    ExecutionWallTime

    Total waktu yang dikonsumsi oleh eksekusi kueri.

    CumulativeCpuTime

    Jumlah waktu CPU untuk semua node BE. Ini mencerminkan total konsumsi resource CPU.

    CpuUtilization

    Utilisasi CPU = CumulativeCpuTime / ExecutionWallTime. Ini menunjukkan jumlah rata-rata core CPU yang digunakan.

    CumulativeWaitTime

    Waktu tunggu kumulatif pipeline. Ini mencakup waktu tunggu penjadwalan (ScheduleTime) dan waktu blocking (PendingTime) akibat kondisi seperti antrian input kosong, antrian output penuh, atau dependensi yang belum siap.

    OperatorCumulativetime

    Jumlah waktu eksekusi untuk semua operator. Ini mencakup I/O, jaringan, dan komputasi.

    IO

    Waktu I/O kumulatif untuk semua operator Scan. Ini mencakup pembacaan disk lokal, pembacaan remote, dan akses cache data.

  • I/O

    Metric

    Description

    RawRowsRead

    Jumlah total catatan yang dipindai oleh semua node SCAN.

    DiskReadBytes

    Jumlah total data terkompresi yang dibaca oleh semua node eksekusi SCAN.

    LocalDiskReadBytes

    Ukuran total data terkompresi yang dibaca dari cache lokal oleh semua node eksekusi Connector Scan. Metrik ini hanya berlaku untuk instans shared-data.

    RemoteReadBytes

    Ukuran total data terkompresi yang dibaca dari OSS oleh semua node eksekusi Connector Scan. Metrik ini hanya berlaku untuk instans shared-data.

    ResultRows

    Jumlah total catatan yang dihasilkan oleh semua node eksekusi SCAN.

    ResultBytes

    Jumlah total data yang dibaca oleh semua node eksekusi SCAN.

  • Jaringan

    Metric

    Description

    Bytes sent over network

    Jumlah total byte yang ditransfer oleh semua node eksekusi Exchange. Ini sesuai dengan metrik BytesSent.

Operator

Klik suatu operator untuk melihat informasi berikut di sisi kanan halaman:

  • Tab CoreMetrics: Menampilkan metrik inti untuk operator tersebut.

  • Tab NodeMetrics: Menampilkan semua metrik untuk operator tersebut.

  • Tab Pipeline: Menampilkan metrik untuk pipeline yang berisi operator tersebut. Metrik ini hanya terkait dengan penjadwalan dan tidak memerlukan perhatian khusus.

Catatan
  • Semakin besar proporsi waktu yang dihabiskan oleh suatu operator, semakin gelap warnanya. Tiga node teratas dengan waktu eksekusi terlama diberi kode warna. Hal ini membantu Anda mengidentifikasi hambatan kueri dengan mudah.

  • Gulir roda mouse atau klik tombol zoom untuk memperbesar dan memperkecil pohon profil.

Metrik utama

Tingkat kueri

  • Metrik ringkasan

    Metric

    Description

    Total

    Total waktu yang berlalu untuk kueri, termasuk waktu yang dihabiskan pada fase Planning, Executing, dan Profiling.

    QueryCpuCost

    Waktu CPU kumulatif yang dikonsumsi oleh kueri. Nilai ini merupakan jumlah waktu CPU dari semua proses konkuren, sehingga dapat melebihi waktu eksekusi aktual.

    QueryMemCost

    Total memori yang dikonsumsi oleh kueri.

    Variables

    Variabel yang terkait dengan kueri.

  • Tingkat pipeline

    Metric

    Description

    ActiveTime

    Waktu eksekusi driver.

    DriverTotalTime

    Total waktu yang dikonsumsi oleh driver.

    PendingTime

    Waktu tunggu driver hingga input dan prasyaratnya tersedia.

Tingkat operator

  • Metrik operator umum

    Metric

    Description

    OperatorTotalTime

    Total waktu eksekusi operator.

    PushRowNum

    Total baris yang dioutput oleh operator.

    PullRowNum

    Total baris yang diinput ke operator.

    PullChunkNum

    Total chunk yang diinput ke operator.

    PushChunkNum

    Total chunk yang dioutput oleh operator.

    PeakMemoryUsage

    Penggunaan memori puncak operator.

  • Operator OLAP Scan

    Metric

    Description

    Table

    Nama tabel.

    ScanTime

    Total waktu yang dihabiskan untuk operasi pemindaian, yang dilakukan dalam kolam thread I/O asinkron.

    TabletCount

    Jumlah tablet yang dipindai.

    PushdownPredicates

    Jumlah predikat yang didorong ke bawah (pushed-down).

    BytesRead

    Jumlah data yang dibaca.

    CompressedBytesRead

    Jumlah data terkompresi yang dibaca.

    IOTime

    Total waktu I/O.

    BitmapIndexFilterRows

    Jumlah baris yang difilter oleh indeks bitmap.

    BloomFilterFilterRows

    Jumlah baris yang difilter oleh Bloom filter.

    SegmentRuntimeZoneMapFilterRows

    Jumlah baris yang difilter oleh runtime zone map.

    SegmentZoneMapFilterRows

    Jumlah baris yang difilter oleh zone map.

    ShortKeyFilterRows

    Jumlah baris yang difilter oleh short key.

    ZoneMapIndexFilterRows

    Jumlah baris yang difilter oleh indeks zone map.

  • Operator Connector Scan

    Metrik ini ditambahkan ke metrik Operator OLAP Scan dan berlaku untuk instans yang menggunakan pemisahan komputasi dan penyimpanan.

    Metric

    Description

    CompressedBytesReadLocalDisk

    Jumlah data terkompresi yang dibaca dari cache lokal pada node komputasi.

    CompressedBytesReadRemote

    Total jumlah data terkompresi yang dibaca dari OSS.

    IOTimeLocalDisk

    Waktu yang dihabiskan untuk operasi I/O saat membaca data dari cache lokal.

    IOTimeRemote

    Waktu yang dihabiskan untuk operasi I/O saat membaca data dari OSS.

  • Operator Exchange

    • Sink

      Metric

      Description

      PartType

      Mode distribusi data. Nilai yang valid: UNPARTITIONED, RANDOM, HASH_PARTITIONED, dan BUCKET_SHUFFLE_HASH_PARTITIONED.

      BytesSent

      Jumlah data yang dikirim.

      OverallThroughput

      Throughput transfer data secara keseluruhan.

      NetworkTime

      Waktu yang dihabiskan untuk mengirimkan paket, tidak termasuk waktu pemrosesan setelah penerimaan.

      WaitTime

      Waktu yang dihabiskan untuk menunggu karena antrian sisi pengirim penuh.

      NetworkBandwidth

      Lebar pita jaringan yang dihitung selama transfer data.

    • Source

      Metric

      Description

      SenderWaitLockTime

      Total waktu yang dihabiskan pengirim menunggu lock.

      BytesReceived

      Jumlah data yang diterima.

      DecompressChunkTime

      Total waktu yang dihabiskan untuk mendekompresi chunk data.

      DeserializeChunkTime

      Total waktu yang dihabiskan untuk mendeserialisasi chunk data.

      SenderTotalTime

      Total waktu yang dihabiskan oleh pengirim.

  • Operator Aggregate

    Metric

    Description

    GroupingKeys

    Kolom yang digunakan dalam klausa GROUP BY.

    AggregateFunctions

    Fungsi agregat yang diterapkan.

    AggComputeTime

    Waktu yang dihabiskan untuk menghitung fungsi agregat.

    ExprComputeTime

    Waktu yang dihabiskan untuk menghitung ekspresi.

    HashTableSize

    Ukuran tabel hash yang digunakan untuk agregasi.

  • Operator Join

    • Probe

      Metric

      Description

      DistributionMode

      Mode distribusi data.

      JoinType

      Jenis join.

      OtherJoinConjunctEvaluateTime

      Waktu yang dihabiskan untuk mengevaluasi konjungsi join lainnya.

      ProbeConjunctEvaluateTime

      Waktu yang dihabiskan untuk mengevaluasi konjungsi probe.

      SearchHashTableTime

      Waktu yang dihabiskan untuk mencari tabel hash.

      WhereConjunctEvaluateTime

      Waktu yang dihabiskan untuk mengevaluasi konjungsi WHERE.

    • Build

      Metric

      Description

      JoinPredicates

      Predikat yang digunakan dalam kondisi join.

      JoinType

      Jenis join.

      BuildBuckets

      Jumlah bucket dalam tabel hash join.

      BuildHashTableTime

      Waktu yang dihabiskan untuk membangun tabel hash untuk join.

      RuntimeFilterBuildTime

      Waktu yang dihabiskan untuk membangun runtime filter.

      RuntimeFilterNum

      Jumlah runtime filter.

      DistributionMode

      Mode distribusi data.

  • Operator Fungsi Jendela

    Metric

    Description

    ComputeTime

    Waktu yang dihabiskan untuk menghitung fungsi jendela.

    PartitionKeys

    Kunci yang digunakan untuk mempartisi jendela.

    AggregateFunctions

    Fungsi agregat yang diterapkan.

  • Operator Pengurutan

    Metric

    Description

    SortKeys

    Kunci pengurutan.

    SortType

    Metode pengurutan yang digunakan, seperti full sort atau top-N sort.

    MergingTime

    Waktu yang dihabiskan untuk menggabungkan run data yang telah diurutkan.

    SortingTime

    Waktu yang dihabiskan untuk mengurutkan data.

  • Operator TableFunction

    Metric

    Description

    TableFunctionExecTime

    Waktu yang dihabiskan untuk menghitung fungsi tabel.

    TableFunctionExecCount

    Jumlah kali fungsi tabel dieksekusi.

  • Operator Project

    Metric

    Description

    ExprComputeTime

    Waktu yang dihabiskan untuk menghitung ekspresi.

    CommonSubExprComputeTime

    Waktu yang dihabiskan untuk menghitung subekspresi umum.

  • Operator LocalExchange

    Metric

    Description

    Type

    Jenis local exchange. Nilai yang valid: Passthrough, Partition, dan Broadcast.

    ShuffleNum

    Jumlah shuffle. Metrik ini hanya berlaku ketika Type bernilai Partition.