All Products
Search
Document Center

PolarDB:Konfigurasikan kebijakan kontrol resource paralel

Last Updated:Mar 29, 2026

PolarDB mendukung berbagai kebijakan untuk mengontrol tingkat paralelisme (DOP) secara global atau per kueri, serta melakukan fallback ke eksekusi sekuensial secara graceful saat beban resource tinggi.

Catatan

Semua parameter kluster di Konsol PolarDB mencakup awalan kompatibilitas file konfigurasi MySQL loose_. Saat memodifikasi parameter di konsol, gunakan nama parameter yang mencakup awalan loose_.

Cara kerja

Saat kueri paralel tiba, PolarDB menerapkan tiga lapisan kontrol:

  1. Queuing policy — Jika jumlah total parallel worker yang sedang berjalan mencapai loose_max_parallel_workers, kueri paralel baru masuk ke antrian first-in, first-out (FIFO) alih-alih langsung dijalankan.

  2. Queue capacity limit — Jika total DOP dari kueri yang dalam antrian mencapai loose_queuing_parallel_degree_limit, antrian dianggap penuh dan kueri berikutnya melakukan fallback ke eksekusi sekuensial.

  3. Queue timeout — Jika kueri menunggu dalam antrian lebih lama dari loose_pq_max_queuing_time, kueri tersebut dikeluarkan dari antrian dan melakukan fallback ke eksekusi sekuensial.

Apakah PolarDB mencoba eksekusi paralel sama sekali tergantung pada kebijakan DOP yang ditetapkan oleh loose_parallel_degree_policy.

Parameter DOP

Catatan

Semua parameter yang tercantum di bawah ini memerlukan awalan loose_ saat dikonfigurasi di Konsol PolarDB.

Batas antrian dan worker

ParameterRuang LingkupBawaanDeskripsi
loose_max_parallel_workersGlobal2 × jumlah core CPUJumlah maksimum parallel worker di seluruh kueri paralel konkuren pada satu node. Saat batas ini tercapai, kueri paralel baru masuk ke antrian FIFO. Pada kluster serverless, nilai ini disesuaikan secara otomatis seiring perubahan spesifikasi node. Nilai valid: 1–10.000.
loose_queuing_parallel_degree_limitGlobal64Total DOP maksimum untuk kueri yang menunggu dalam antrian. Saat batas ini tercapai, antrian dianggap penuh dan kueri paralel tambahan melakukan fallback ke eksekusi sekuensial. Nilai valid: 0–10.000.
loose_pq_max_queuing_timeGlobal, session200 msWaktu maksimum yang dapat ditunggu kueri dalam antrian sebelum melakukan fallback ke eksekusi sekuensial. Nilai valid: 0–18.446.744.073.709.551.615 ms.

Kebijakan DOP

ParameterRuang LingkupBawaanDeskripsi
loose_parallel_degree_policyGlobalREPLICA_AUTOMengontrol cara PolarDB memilih DOP untuk setiap kueri. Nilai valid: TYPICAL, AUTO, REPLICA_AUTO.

Perbandingan kebijakan:

NilaiSiapa yang Menjalankan Kueri ParalelCara pemilihan DOP
TYPICALNode primary dan node read-onlyTetap: menggunakan nilai loose_max_parallel_degree, terlepas dari penggunaan CPU saat ini
AUTONode primary dan node read-onlyAdaptif: PolarDB mengaktifkan atau menonaktifkan eksekusi paralel berdasarkan penggunaan CPU, penggunaan memori, dan operasi input/output per detik (IOPS), serta memilih DOP berdasarkan biaya kueri
REPLICA_AUTO (bawaan)Hanya node read-onlyAdaptif: sama seperti AUTO, tetapi node primary selalu menggunakan eksekusi sekuensial

Gunakan REPLICA_AUTO jika Anda ingin melindungi node primary dari overhead kueri paralel sekaligus memungkinkan node read-only meningkatkan performa kueri secara adaptif.

Ambang batas berbasis resource

Parameter berikut berlaku ketika loose_parallel_degree_policy diatur ke AUTO atau REPLICA_AUTO. PolarDB menonaktifkan kueri paralel pada suatu node jika salah satu ambang batas terlampaui.

ParameterRuang LingkupBawaanPerilaku ambang batas
loose_auto_dop_cpu_pct_hwmGlobal70Menonaktifkan kueri paralel ketika penggunaan CPU melebihi persentase ini. Nilai valid: 0–100.
loose_auto_dop_mem_pct_hwmGlobal90Menonaktifkan kueri paralel ketika penggunaan memori melebihi persentase ini. Nilai valid: 0–100.
loose_auto_dop_iops_pct_hwmGlobal80Menonaktifkan kueri paralel ketika penggunaan IOPS melebihi persentase ini. Nilai valid: 0–100.

Monitor eksekusi kueri paralel

Gunakan variabel status berikut untuk melacak seberapa sering kueri paralel melakukan fallback ke eksekusi sekuensial.

VariabelRuang LingkupDeskripsi
PQ_refused_over_total_workersGlobal, sessionJumlah kueri yang melakukan fallback ke eksekusi sekuensial karena loose_max_parallel_workers telah tercapai. Jumlah yang meningkat menunjukkan batas worker mungkin terlalu rendah untuk workload Anda. Pertimbangkan untuk menaikkan loose_max_parallel_workers.
PQ_refused_over_max_queuing_timeGlobal, sessionJumlah kueri yang melakukan fallback ke eksekusi sekuensial karena timeout antrian. Jumlah yang meningkat menunjukkan kueri menunggu terlalu lama — pertimbangkan untuk menaikkan loose_max_parallel_workers atau loose_queuing_parallel_degree_limit, atau menaikkan loose_pq_max_queuing_time.
Total_running_parallel_workersGlobalJumlah parallel worker aktif saat ini. Gunakan ini untuk mengukur seberapa dekat Anda dengan batas loose_max_parallel_workers.