All Products
Search
Document Center

Realtime Compute for Apache Flink:Dokumen putih kinerja: benchmark Nexmark

Last Updated:Mar 31, 2026

Dokumen ini menjelaskan cara menggunakan rangkaian benchmark Nexmark untuk mengevaluasi kinerja pemrosesan aliran Realtime Compute for Apache Flink.

Kinerja sekilas

Nexmark adalah rangkaian benchmark standar industri untuk mesin pemrosesan aliran yang mencakup 21 kueri, meliputi skenario umum seperti filtering, agregasi, JOIN, dan window. Dokumen ini menyajikan evaluasi kinerja komprehensif terhadap Realtime Compute for Apache Flink menggunakan rangkaian benchmark Nexmark dengan konfigurasi 8 CU dan garis dasar 100 juta input record. Hasilnya menunjukkan:

  • RPS untuk kueri sederhana, seperti q0, q1, dan q2, dapat mencapai 4 hingga 6,5 juta.

  • RPS untuk kueri agregasi dan window kompleks, seperti q4, q5, dan q16, berkisar antara 150.000 hingga 630.000.

Tool pengujian

Nexmark adalah rangkaian benchmark kinerja standar untuk mesin pemrosesan aliran. Model pengujian terdiri dari komponen berikut:

  • Tabel sumber Nexmark: Menghasilkan data uji (event Person, Auction, dan Bid) pada laju tertentu.

  • Transformasi: 21 kueri standar Nexmark yang mencakup skenario umum seperti filtering, transformasi, agregasi, JOIN, dan window.

  • Tabel hasil blackhole: Menulis data ke sink blackhole untuk menghilangkan gangguan kinerja dari penyimpanan eksternal, sehingga fokus evaluasi tertuju pada kemampuan pemrosesan mesin Flink.

Tool pengujian Nexmark yang digunakan dalam dokumen ini dibangun di atas OpenAPI Realtime Compute for Apache Flink. Tool ini mengotomatiskan seluruh alur kerja, termasuk pembuatan pekerjaan, penerapan, pemantauan waktu proses, dan pengumpulan hasil. Anda tidak perlu menulis SQL atau membuat pekerjaan secara manual di Konsol.

Lingkungan pengujian

Pekerjaan Flink dalam pengujian ini menggunakan konfigurasi optimasi berikut:

Parameter

Nilai

Deskripsi

table.exec.mini-batch.enabled

true

Mengaktifkan agregasi Mini-Batch.

table.exec.mini-batch.allow-latency

2s

Interval buffering untuk Mini-Batch.

table.optimizer.distinct-agg.split.enabled

true

Mengaktifkan optimasi split untuk agregasi Distinct.

execution.checkpointing.interval

3min

Interval checkpoint.

Prasyarat

  • Java Development Kit (JDK) 1.8.x atau versi lebih baru.

  • Ruang kerja aktif. Untuk informasi selengkapnya, lihat Aktifkan Realtime Compute for Apache Flink.

  • ID AccessKey dan AccessKey Secret untuk Akun Alibaba Cloud Anda.

Prosedur

Langkah 1: Unduh tool pengujian

Unduh dan ekstrak paket tool pengujian Nexmark nexmark-flink.tar.gz.

Setelah diekstrak, struktur direktorinya adalah sebagai berikut:

nexmark-flink/
├── run_nexmark.sh          # Skrip entri pengujian
├── nexmark_env.sh          # File konfigurasi variabel lingkungan (perlu diedit)
├── bin/                    # Skrip waktu proses
├── conf/                   # Konfigurasi pekerjaan Flink
├── lib/                    # Paket JAR (akan diunggah ke Konsol)
└── queries-vvp/            # File SQL Kueri Nexmark

Langkah 2: Unggah JAR Nexmark

  1. Masuk ke Konsol Realtime Compute for Apache Flink.

  2. Klik untuk masuk ke namespace target, lalu pada bilah navigasi kiri, pilih File Management > Upload Resource.

  3. Pilih dan unggah file nexmark-flink-0.2-SNAPSHOT.jar. File ini berada di direktori nexmark-flink/lib dari tool pengujian.

  4. Setelah pengunggahan selesai, klik nama file untuk menyalin path OSS-nya. Anda akan memerlukan path ini sebagai parameter pada langkah berikutnya. Format path file bervariasi tergantung jenis penyimpanan:

    • Penyimpanan Bucket OSS: oss://<nama-bucket-anda>/artifacts/namespaces/<namespace-anda>/<nama-file-anda>

      Contoh: oss://oss-test/artifacts/namespaces/flink-default/nexmark-flink-0.2-SNAPSHOT.jar
    • Penyimpanan Fully Managed: oss://flink-fullymanaged-<id-ruang-kerja-anda>/artifacts/namespaces/<namespace-anda>/<nama-file-anda>

      Contoh: oss://flink-fullymanaged-e6a123456789/artifacts/namespaces/flink-default/nexmark-flink-0.2-SNAPSHOT.jar

    Untuk melihat jenis penyimpanan ruang kerja Anda, buka Konsol Realtime Compute for Apache Flink, temukan ruang kerja target, lalu klik Details pada kolom Actions.

Langkah 3: Konfigurasikan parameter waktu proses

Edit file nexmark-flink/nexmark_env.sh dan konfigurasikan parameter berikut.

Parameter

Deskripsi

Contoh

END_POINT

Titik akhir layanan untuk Realtime Compute for Apache Flink. Pilih titik akhir berdasarkan Wilayah Anda. Untuk informasi selengkapnya, lihat Titik akhir layanan.

ververica.cn-hangzhou.aliyuncs.com

AK

ID AccessKey Akun Alibaba Cloud Anda.

-

SK

AccessKey Secret Akun Alibaba Cloud Anda.

-

WORK_SPACE

ID ruang kerja Anda.

e6a123456789

NAMESPACE

Namespace ruang kerja Anda.

flink-default

NE*******AR

Path OSS dari paket JAR yang telah Anda unggah di Langkah 2.

oss://flink-fullymanaged-e6a123456789/artifacts/namespaces/flink-default/nexmark-flink-0.2-SNAPSHOT.jar

FLINK_VERSION

Versi mesin Flink yang akan diuji.

vvr-11.6-jdk11-flink-1.20

QUERIES

Kueri yang akan dijalankan. Pisahkan beberapa kueri dengan koma, misalnya q0 atau q1,q2,q3. Untuk menjalankan semua kueri, atur parameter ini menjadi all.

all

Catatan

Menjalankan semua kueri dapat memakan waktu lama karena setiap kueri melibatkan tahapan seperti pembuatan pekerjaan, pembuatan data, dan komputasi. Kami menyarankan Anda menjalankan satu kueri terlebih dahulu (misalnya dengan mengatur QUERIES ke q0) untuk memverifikasi bahwa lingkungan dan parameter telah dikonfigurasi dengan benar sebelum menjalankan seluruh rangkaian pengujian.

Langkah 4: Jalankan pengujian

  1. Pada direktori nexmark-flink, jalankan perintah berikut.

    ./run_nexmark.sh
  2. Tool pengujian secara otomatis membuat dan menjalankan pekerjaan Nexmark menggunakan OpenAPI.

  3. Setelah pengujian selesai, output menampilkan durasi setiap kueri dalam milidetik. Contoh output:

    INFO  com.github.nexmark.flink.vvp.Nexmark - q0 13078
    ============================================================================
    ✓ Benchmark execution completed successfully
    ============================================================================

Hasil kinerja

Tabel berikut menunjukkan hasil kinerja 21 kueri Nexmark pada Realtime Compute for Apache Flink dengan konfigurasi 8 CU. Setiap kueri memproses 100 juta input record. RPS dihitung dengan membagi jumlah input record dengan durasi.

Catatan

Data berikut dikumpulkan dalam lingkungan pengujian tertentu. Kinerja aktual dapat bervariasi tergantung pada pembaruan perangkat keras dan mesin. Hasil ini hanya untuk referensi.

Kueri

Durasi (ms)

RPS

q0

23450

4.264.392

q1

22824

4.381.353

q2

15224

6.568.576

q3

21558

4.638.649

q4

157117

636.468

q5

679277

147.215

q7

333837

299.547

q8

29939

3.340.125

q9

266563

375.146

q10

51202

1.953.049

q11

145983

685.011

q12

36991

2.703.360

q14

20012

4.997.002

q15

42734

2.340.057

q16

337293

296.478

q17

27076

3.693.308

q18

96335

1.038.044

q19

95121

1.051.293

q20

231482

431.999

q21

39693

2.519.336

q22

31228

3.202.254