All Products
Search
Document Center

PolarDB:Uji benchmark TPC-H untuk indeks kolom (100 GB)

Last Updated:Mar 28, 2026

Halaman ini menjelaskan desain, prosedur, dan hasil uji benchmark TPC-H untuk Clustered Columnar Indexes (CCIs) PolarDB-X menggunakan set data berukuran 100 GB. Gunakan hasil ini untuk memperkirakan kinerja kueri pada berbagai konfigurasi node sebelum menyediakan kluster Anda.

Uji ini didasarkan pada spesifikasi TPC Benchmark-H (TPC-H), tetapi tidak memenuhi semua persyaratan TPC-H. Hasilnya tidak dapat dibandingkan dengan hasil benchmark TPC-H yang telah dipublikasikan.

Ringkasan hasil pengujian

Tabel berikut menunjukkan total waktu kueri (dalam detik) untuk ke-22 kueri pada masing-masing konfigurasi node. Nilai lebih rendah menunjukkan kinerja lebih baik.

ConfigurationTotal time (s)
2 × 8 cores, 32 GB99,82
4 × 8 cores, 32 GB48,55
2 × 16 cores, 64 GB50,31
3 × 16 cores, 64 GB33,00
4 × 16 cores, 64 GB25,54
6 × 16 cores, 64 GB20,56

Pemanasan diperlukan jika uji TPC-H dijalankan untuk pertama kalinya. Jalankan beberapa putaran uji hingga hasilnya stabil. Nilai dalam tabel ini merupakan hasil yang sudah stabil.

Latar belakang

TPC-H adalah benchmark decision-support yang dikembangkan dan dirilis oleh Transaction Processing Performance Council (TPC). Benchmark ini terdiri dari 22 kueri SQL kompleks pada 8 tabel. Sebagian besar kueri melibatkan penggabungan tabel (table joins), subkueri, dan klausa GROUP BY.

Desain pengujian

Set data

Pengujian menggunakan set data berukuran 100 GB (faktor skala = 100). Tiga tabel terbesar berisi:

  • LINEITEM: sekitar 600 juta baris

  • ORDERS: 150 juta baris

  • PARTSUPP: 80 juta baris

Konfigurasi node

Node specificationsNumber of nodesDataset size
8 cores, 32 GB memory2 atau 4100 GB
16 cores, 64 GB memory2, 3, 4, atau 6100 GB

Mesin stress test

Stress test dijalankan pada instance Elastic Compute Service (ECS) tipe ecs.g7.4xlarge (16 vCPU, 64 GB memory).

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Akun Alibaba Cloud dengan izin untuk membuat instance ECS dan PolarDB-X

  • Akses ke Konsol Alibaba Cloud

Jalankan uji TPC-H

Langkah 1: Buat instance ECS

Buat instance ECS untuk digunakan sebagai client stress test.

Deploy instance ECS dalam virtual private cloud (VPC) dan catat nama serta ID VPC tersebut. Semua instance basis data dalam pengujian ini harus berada dalam VPC yang sama. Gunakan citra OS CentOS dan aktifkan alamat IP publik untuk instance tersebut.

Langkah 2: Buat instance PolarDB-X

Buat instance PolarDB-X dalam VPC yang sama dengan instance ECS.

Tambahkan alamat IP internal instance ECS ke daftar putih instance PolarDB-X.

Langkah 3: Sesuaikan parameter instance

Sesuaikan parameter node komputasi instance PolarDB-X untuk kinerja benchmark optimal.

  1. Atur XPROTO_MAX_DN_CONCURRENT menjadi 4000. Untuk instruksi, lihat Set parameters.

  2. Sambungkan ke instance PolarDB-X menggunakan CLI dan jalankan pernyataan SQL berikut dalam satu sesi untuk menonaktifkan pencatatan log, profiling CPU, dan pengumpulan statistik latar belakang:

    set global RECORD_SQL = false;
    set global MPP_METRIC_LEVEL = 0;
    set global ENABLE_CPU_PROFILE = false;
    set global ENABLE_BACKGROUND_STATISTIC_COLLECTION = false;
    set global ENABLE_STATISTIC_FEEDBACK = false;

Langkah 4: Instal Benchmark Boot

  1. Buka port 4121 di security group instance ECS. Untuk instruksi, lihat Add a security group rule.

  2. Login ke instance ECS dan jalankan perintah berikut untuk menginstal Benchmark Boot:

    bash -c "$(curl -fsSL https://benchmark-boot.oss-cn-hangzhou.aliyuncs.com/setup.sh)"

    Untuk informasi lebih lanjut, lihat Download and install Benchmark Boot.

  3. Buka http://<Public IP of ECS instance>:4121 di browser. Jika halaman utama Benchmark Boot dimuat, instalasi telah selesai.

Langkah 5: Muat data pengujian

  1. Pada halaman utama Benchmark Boot, buka Stress Test > Database Connection > Configure Database Connection. Masukkan alamat IP host, port, username, password, dan nama library TPC-H. Atur mode pembuatan library ke AUTO, lalu klik Submit.

  2. Buka Stress Test > TPCH > Import TPC-H. Atur ukuran set data ke 100 GB dan jumlah shard fisik ke 16, lalu klik Submit untuk mengimpor data ke instance PolarDB-X primary.

    Setelah impor selesai, Benchmark Boot secara otomatis menjalankan ANALYZE TABLE untuk mengumpulkan statistik pengoptimal.
  3. Setelah impor selesai, buat CCI pada instance PolarDB-X primary dengan menjalankan pernyataan SQL berikut. Untuk informasi lebih lanjut, lihat Create and use a CCI.

    Pembuatan CCI memerlukan waktu sekitar 45 menit. Jalankan show columnar index untuk memeriksa progres. Untuk informasi lebih lanjut, lihat SHOW COLUMNAR INDEX.
    create clustered columnar index `nation_col_index` on nation(`n_nationkey`) partition by hash(`n_nationkey`) partitions 1;
    
    create clustered columnar index `region_col_index` on region(`r_regionkey`) partition by hash(`r_regionkey`) partitions 1;
    
    create clustered columnar index `customer_col_index` on customer(`c_custkey`) partition by hash(`c_custkey`) partitions 64;
    
    create clustered columnar index `part_col_index` on part(`p_size`) partition by hash(`p_partkey`) partitions 64;
    
    create clustered columnar index `partsupp_col_index` on partsupp(`ps_partkey`) partition by hash(`ps_partkey`) partitions 64;
    
    create clustered columnar index `supplier_col_index` on supplier(`s_suppkey`) partition by hash(`s_suppkey`) partitions 64;
    
    create clustered columnar index `orders_col_index` on orders(`o_orderdate`,`o_orderkey`) partition by hash(`o_orderkey`) partitions 64;
    
    create clustered columnar index `lineitem_col_index` on lineitem(`l_shipdate`,`l_orderkey`) partition by hash(`l_orderkey`) partitions 64;

Langkah 6: Tambahkan instance column store read-only

Tambahkan instance column store read-only ke instance PolarDB-X primary.

Tambahkan juga alamat IP internal instance ECS ke daftar putih instance column store read-only tersebut.

Langkah 7: Jalankan pengujian

  1. Pada halaman utama Benchmark Boot, buka Stress Test > Database Connection > Configure Database Connection. Masukkan nama library TPC-H untuk instance column store read-only, atur mode pembuatan library ke AUTO, lalu klik Submit.

  2. Buka Stress Test > TPCH > Run TPCH. Pilih All Queries, masukkan deskripsi tugas, lalu klik Submit untuk menjalankan ke-22 kueri TPC-H.

  3. Buka Test Result > TPCH untuk melihat hasilnya.

    Pemanasan diperlukan jika uji TPC-H dijalankan untuk pertama kalinya. Kami menyarankan Anda menjalankan beberapa putaran uji untuk mendapatkan hasil yang stabil.

Hasil pengujian

Unit: detik. Nilai lebih rendah menunjukkan kinerja lebih baik. Jalankan beberapa putaran hingga hasilnya stabil, lalu gunakan nilai stabil tersebut untuk perbandingan.

Query2×8C32G4×8C32G16C64G×216C64G×316C64G×416C64G×6
Q15,93,994,371,61,220,86
Q22,411,681,631,151,040,86
Q34,182,132,431,771,200,88
Q43,721,020,940,780,480,44
Q55,633,123,272,051,681,4
Q60,410,380,420,180,150,13
Q75,472,942,932,081,721,34
Q83,612,311,981,811,681,51
Q913,66,917,464,933,853,11
Q106,363,123,52,311,731,26
Q111,510,640,740,530,490,35
Q121,860,820,780,570,400,35
Q138,854,294,442,61,641,2
Q140,940,580,70,510,380,31
Q151,260,760,880,590,470,37
Q162,311,190,750,610,46
Q171,860,750,690,470,430,49
Q188,434,184,433,162,191,6
Q194,922,161,861,071,020,73
Q201,881,341,170,730,780,73
Q2112,053,183,112,381,721,57
Q222,671,251,390,980,660,61
Total99,8248,5550,3133,0025,5420,56

Langkah selanjutnya