PolarDB mendukung berbagai kebijakan untuk mengontrol derajat paralelisme (DOP) baik secara global maupun untuk query tunggal, memastikan pemilihan nilai DOP yang optimal sesuai dengan beban sumber daya.
Prefiks kompatibilitas file konfigurasi MySQL loose_ ditambahkan ke semua parameter kluster di Konsol PolarDB. Jika Anda ingin memodifikasi parameter dalam PolarDB, pastikan untuk memodifikasi yang memiliki prefiks loose_ .
Parameter yang menentukan kebijakan antrian query paralel
Parameter | Deskripsi |
loose_max_parallel_workers | Menentukan jumlah maksimum pekerja paralel dalam satu node. Jika jumlah pekerja paralel melebihi nilai loose_max_parallel_workers, query paralel baru akan masuk ke antrian dan menunggu. Penjadwalan antrian menggunakan kebijakan first-in, first-out (FIFO). |
loose_queuing_parallel_degree_limit | Menentukan DOP maksimum yang diizinkan dalam antrian. Jika total jumlah pekerja paralel dalam antrian melebihi nilai loose_queuing_parallel_degree_limit, antrian dianggap penuh dan eksekusi sekuensial digunakan untuk query berikutnya. |
loose_pq_max_queuing_time | Menentukan waktu tunggu maksimum dalam antrian. Jika waktu tunggu dalam antrian melebihi nilai yang ditentukan, query segera dikeluarkan dari antrian dan menggunakan eksekusi sekuensial sebagai gantinya. |
Rincian parameter DOP
Parameter | Tingkat | Deskripsi |
loose_max_parallel_workers | Global | Jumlah maksimum pekerja paralel. Jika jumlah pekerja paralel melebihi nilai yang ditentukan, query paralel baru masuk ke antrian dan menunggu.
Catatan Nilai loose_max_parallel_workers dalam kluster serverless disesuaikan berdasarkan penskalaan spesifikasi node. |
loose_queuing_parallel_degree_limit | Global | Jumlah total maksimum nilai DOP untuk query paralel yang dapat masuk ke antrian pada satu waktu. Jika nilai yang ditentukan terlampaui, query paralel dilarang dan eksekusi sekuensial digunakan.
|
loose_pq_max_queuing_time | Global dan Sesi | Waktu tunggu maksimum dalam antrian. Jika waktu tunggu dalam antrian melebihi nilai yang ditentukan, eksekusi sekuensial digunakan.
|
Variabel statistik:
Variabel | Tingkat | Deskripsi |
PQ_refused_over_total_workers | Global dan Sesi | Jumlah query yang tidak dilakukan secara paralel karena batasan pada jumlah total pekerja. |
PQ_refused_over_max_queuing_time | Global dan Sesi | Jumlah query yang gagal menjalankan query paralel elastis karena batas waktu antrian. |
Total_running_parallel_workers | Global | Jumlah pekerja paralel yang sedang berjalan. |
Pengaturan DOP adaptif
PolarDB mendukung pengaturan DOP adaptif berdasarkan biaya query dan beban sumber daya saat ini, termasuk DOP untuk query paralel elastis single-node serta kebijakan penjadwalan untuk query paralel elastis multi-node. Tabel berikut menjelaskan parameter tersebut.
Parameter | Tingkat | Deskripsi |
loose_parallel_degree_policy | Global | Kebijakan DOP untuk query individu. Nilai valid:
|
Kontrol DOP berdasarkan penggunaan sumber daya sistem
Jika loose_parallel_degree_policy diatur ke AUTO atau REPLICA_AUTO, PolarDB akan mengaktifkan atau menonaktifkan query paralel berdasarkan penggunaan CPU, memori, atau nilai operasi input/output per detik (IOPS) dari database. Saat query paralel diaktifkan, Anda dapat menetapkan DOP berdasarkan penggunaan sumber daya sistem untuk query paralel.
Parameter | Tingkat | Deskripsi |
loose_auto_dop_cpu_pct_hwm | Global | Ambang batas penggunaan CPU. Jika penggunaan CPU melebihi ambang batas, PolarDB menonaktifkan query paralel.
|
loose_auto_dop_mem_pct_hwm | Ambang batas penggunaan memori. Jika penggunaan memori melebihi ambang batas, PolarDB menonaktifkan query paralel.
| |
loose_auto_dop_iops_pct_hwm | Ambang batas penggunaan IOPS. Jika penggunaan IOPS melebihi ambang batas, PolarDB menonaktifkan query paralel.
|