全部产品
Search
文档中心

PolarDB:Hasil pengujian kinerja dalam skenario query paralel

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menggunakan benchmark TPC-H untuk menguji kinerja pemrosesan analitik online (OLAP) dari PolarDB for MySQL versi 8.0.1 dan 8.0.2 Edisi Kluster. Anda dapat mengikuti petunjuk dalam topik ini untuk menguji kinerja database Anda.

Query paralel

PolarDB for MySQL versi 8.0 Edisi Kluster menyediakan fitur query paralel untuk mengurangi waktu respons query. Fitur ini diaktifkan secara otomatis ketika volume data yang di-query melebihi ambang batas tertentu. Untuk informasi lebih lanjut, lihat Ikhtisar.

Pada lapisan penyimpanan kluster PolarDB for MySQL versi 8.0.1, data shard didistribusikan ke thread yang berbeda. Beberapa thread melakukan komputasi paralel dan mengembalikan hasil secara berurutan ke thread pemimpin. Kemudian, thread pemimpin menggabungkan hasil dan mengembalikan hasil akhir kepada pengguna, meningkatkan efisiensi query.

Dalam PolarDB for MySQL versi 8.0.2, kemampuan akselerasi linier dari query paralel ditingkatkan ke level baru dengan dukungan komputasi paralel multi-fase. Optimasi berbasis biaya memungkinkan rencana eksekusi paralel yang lebih fleksibel dan mengatasi hambatan kinerja dari thread pemimpin tunggal serta beban yang tidak seimbang pada worker yang mungkin terjadi dalam query paralel versi 8.0.1. Secara spesifik, data shard tetap didistribusikan ke thread yang berbeda pada lapisan penyimpanan. Beberapa thread melakukan komputasi paralel dan mendistribusikan data shard ke grup worker paralel di fase berikutnya. Thread pemimpin kemudian menggabungkan hasil komputasi dan mengembalikan hasil akhir kepada pengguna, meningkatkan kemampuan eksekusi paralel secara signifikan.

Query paralel dicapai berdasarkan kemampuan pemrosesan paralel multi-core CPU. Gambar berikut menunjukkan pemrosesan paralel dalam kluster dengan delapan core dan memori 32 GB.

A PolarDB for MySQL cluster

Tabel berikut menunjukkan nilai parameter query paralel yang diatur untuk pengujian OLAP PolarDB versi 8.0.1 dan 8.0.2. Untuk informasi lebih lanjut tentang cara mengonfigurasi parameter query paralel, lihat Konfigurasikan Parameter Kluster dan Node. Untuk informasi lebih lanjut tentang alat uji, metode, dan hasil, lihat Pengujian Kinerja untuk Query Paralel dan Hasil Pengujian.

  • 8.0.1

    Parameter

    Nilai default

    Nilai valid (Opsi 1)

    loose_parallel_degree_policy

    REPLICA_AUTO

    TYPICAL

    loose_max_parallel_degree

    0

    16

  • 8.0.2

    Parameter

    Nilai default

    Nilai valid (Opsi 1)

    loose_parallel_degree_policy

    REPLICA_AUTO

    TYPICAL

    loose_parallel_query_switch

    ''

    'force_run_using_planning_dop=on'

    loose_optimizer_switch

    ''

    'hash_join_cost_based=off'

    loose_max_parallel_degree

    0

    16

Catatan

Jika loose_parallel_degree_policy diatur ke TYPICAL, PolarDB mengabaikan penggunaan sumber daya database (seperti utilisasi CPU) dan menetapkan derajat paralelisme (DOP) ke nilai parameter loose_max_parallel_degree.

Hasil pengujian

  • Tabel berikut menjelaskan hasil pengujian PolarDB versi 8.0.1:

    Query

    Durasi nilai default (Satuan: detik)

    Durasi nilai valid (opsi 1) (Satuan: detik)

    Q1

    2.495,05

    86,63

    Q2

    13,18

    1,46

    Q3

    345,56

    28,67

    Q4

    63,78

    6,26

    Q5

    251,48

    258,55

    Q6

    241,7

    16,4

    Q7

    174,91

    171,85

    Q8

    560,82

    572,63

    Q9

    450,68

    42,17

    Q10

    895,75

    270,29

    Q11

    30,03

    11,6

    Q12

    266,14

    17,65

    Q13

    780,74

    127,1

    Q14

    72,04

    7,57

    Q15

    261,77

    56,55

    Q16

    40,69

    24,29

    Q17

    57,75

    13,04

    Q18

    257,66

    136,79

    Q19

    19,17

    1,52

    Q20

    143,97

    49,72

    Q21

    293,99

    37,79

    Q22

    18,81

    2,15

    1.png

  • Tabel berikut menjelaskan hasil pengujian PolarDB versi 8.0.2:

    Query

    Durasi nilai default (Satuan: detik)

    Durasi nilai valid (opsi 1) (Satuan: detik)

    Q1

    573,34

    89,65

    Q2

    3,62

    0,66

    Q3

    96,89

    28,52

    Q4

    18,66

    6,41

    Q5

    150,93

    28,93

    Q6

    68,13

    17,13

    Q7

    114,56

    17,39

    Q8

    333,36

    54,32

    Q9

    136,26

    42,15

    Q10

    325,19

    128,55

    Q11

    11,49

    4,53

    Q12

    121,68

    17,54

    Q13

    281,1

    126,2

    Q14

    23,34

    7,59

    Q15

    77,22

    33,02

    Q16

    12,15

    8,96

    Q17

    4,51

    1,13

    Q18

    325,05

    133,07

    Q19

    5,37

    1,5

    Q20

    70,31

    90,75

    Q21

    171,81

    29,87

    Q22

    6,05

    2,16

    2.png