全部产品
Search
文档中心

Realtime Compute for Apache Flink:Konfigurasi GeminiStateBackend

更新时间:Jul 02, 2025

Topik ini menjelaskan parameter tuning yang dapat dikonfigurasikan saat menggunakan penyimpanan backend status tingkat perusahaan GeminiStateBackend.

Informasi latar belakang

Dalam sebagian besar skenario, GeminiStateBackend secara otomatis menyesuaikan konfigurasi parameter tanpa memerlukan konfigurasi manual berdasarkan fitur penyetelan parameter adaptif. Anda hanya perlu menyesuaikan konfigurasi dasar sesuai dengan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Parameter Dasar. Dalam situasi tertentu, Anda dapat mengonfigurasi parameter untuk mengoptimalkan kinerja lebih lanjut. Topik ini menjelaskan konfigurasi parameter spesifik dalam skenario berikut:

Catatan

Untuk informasi lebih lanjut tentang penyimpanan status tingkat perusahaan, lihat GeminiStateBackend. Untuk panduan konfigurasi penyimpanan status tingkat perusahaan, lihat Konfigurasikan parameter terkait status.

Parameter Dasar

Parameter

Deskripsi

Tipe Data

Nilai Default

Catatan

table.exec.state.ttl

TTL data status dalam penerapan SQL.

LONG

  • Jika versi Ververica Runtime (VVR) adalah 4.0.12 atau lebih baru, nilai defaultnya adalah 129600000. Nilai ini sama dengan 1,5 hari.

  • Jika versi VVR lebih awal dari 4.0.12, parameter ini kosong secara default. Ini menunjukkan bahwa data status tidak kedaluwarsa.

Satuan: milidetik. Misalnya, jika Anda mengatur parameter ini ke 129600000, TTL data status adalah 1,5 hari. Parameter ini tidak dapat digunakan bersama dengan parameter state.backend.gemini.ttl.ms.

Catatan

Kami merekomendasikan Anda mengatur parameter ini ke nilai kecil berdasarkan kebutuhan bisnis Anda.

state.backend.gemini.ttl.ms

TTL data status dalam penerapan DataStream atau Python.

LONG

(tidak ada)

Satuan: milidetik. Misalnya, jika Anda mengatur parameter ini ke 129600000, TTL data status adalah 1,5 hari. Parameter ini tidak dapat digunakan bersama dengan parameter table.exec.state.ttl.

Catatan

Kami merekomendasikan Anda mengatur parameter ini ke nilai kecil berdasarkan kebutuhan bisnis Anda.

state.backend.gemini.savepoint.external-sort.local-storage.enabled

Menentukan apakah data sementara yang dihasilkan selama pembuatan savepoint disimpan di disk lokal.

BOOLEAN

false

Nilai valid:

  • false: Data sementara disimpan di Distributed File System (DFS). Ini adalah nilai default.

  • true: Data sementara disimpan di disk lokal untuk meminimalkan interaksi dengan DFS dan mempercepat pembuatan savepoint. Jika penggunaan penyimpanan disk lokal Anda kurang dari 30% dan disk lokal Anda memiliki ruang yang cukup untuk menyimpan data sementara, kami merekomendasikan Anda mengatur parameter ini ke true.

Catatan
  • Hanya Realtime Compute for Apache Flink yang menggunakan VVR 4.0 atau lebih baru yang mendukung parameter ini.

  • Jika savepoint dibuat dengan kecepatan rendah, kami merekomendasikan Anda mengonfigurasi parameter ini.

Parameter terkait memori

Catatan

Tabel berikut menjelaskan parameter terkait memori yang hanya dapat dikonfigurasikan di VVR 4.0 dan versi lebih baru.

Parameter

Deskripsi

Tipe Data

Nilai Default

Catatan

state.backend.gemini.memory.managed

Menentukan apakah GeminiStateBackend secara otomatis mengalokasikan memori berdasarkan memori yang dikelola.

BOOLEAN

true

Nilai valid:

  • true: Sistem secara otomatis menghitung ukuran memori setiap backend berdasarkan memori yang dikelola dan jumlah slot tugas.

  • false: Ukuran memori setiap backend diatur ke jumlah nilai parameter state.backend.gemini.total.writebuffer.size dan state.backend.gemini.offheap.size.

    Anda dapat mengatur parameter ini ke false dan menentukan total ukuran memori yang digunakan oleh WriteBuffer dan memori off-heap untuk mengoordinasikan sumber daya memori dan kinerja.

Catatan
  • Kami merekomendasikan Anda menggunakan nilai default.

  • Untuk Realtime Compute for Apache Flink yang menggunakan VVR 4.0.12 atau lebih baru, nilai default parameter ini adalah true. Untuk Realtime Compute for Apache Flink yang menggunakan versi VVR lebih awal dari 4.0.12, nilai default parameter ini adalah false.

state.backend.gemini.total.writebuffer.size

Total ukuran memori yang digunakan oleh WriteBuffer.

STRING

128 MB

Parameter ini berlaku ketika parameter state.backend.gemini.memory.managed diatur ke false. Jika tidak, total ukuran memori yang digunakan oleh WriteBuffer dihitung secara otomatis berdasarkan memori yang dikelola.

Saat Anda mengonfigurasi parameter ini, Anda harus menambahkan satuan ke nilai parameter ini. Satuan bisa B, KB, MB, atau GB.

Catatan
  • Satuan tidak peka huruf besar/kecil.

  • Spasi diperlukan antara nilai dan satuan.

state.backend.gemini.offheap.size

Ukuran memori off-heap yang digunakan oleh GeminiStateBackend.

Catatan

Memori off-heap yang digunakan oleh GeminiStateBackend tidak termasuk memori yang digunakan oleh WriteBuffer.

STRING

(tidak ada)

Parameter ini berlaku ketika parameter state.backend.gemini.memory.managed diatur ke false. Jika tidak, ukuran memori off-heap yang digunakan oleh GeminiStateBackend dihitung secara otomatis berdasarkan memori yang dikelola.

Saat Anda mengonfigurasi parameter ini, Anda harus menambahkan satuan ke nilai parameter ini. Satuan bisa B, KB, MB, atau GB.

Catatan
  • Secara default, parameter ini tidak dikonfigurasikan.

  • Satuan tidak peka huruf besar/kecil.

  • Spasi diperlukan antara nilai dan satuan.

Catatan

Konfigurasi dasar checkpoint dan backend status di Apache Flink juga berlaku untuk GeminiStateBackend. Untuk informasi lebih lanjut, lihat Checkpoint dan Backend Status.

Parameter untuk pemisahan komputasi-penyimpanan

Catatan

Tabel berikut menjelaskan parameter untuk pemisahan komputasi-penyimpanan yang hanya dapat dikonfigurasikan di VVR 4.0.11 dan versi lebih baru.

Parameter

Deskripsi

Tipe Data

Nilai Default

Catatan

state.backend.gemini.file.cache.type

Mode pemisahan komputasi-penyimpanan.

STRING

  • VVR 4.0.11: INFINITE

  • VVR 4.0.12 dan lebih baru: LIMITED

Nilai valid:

  • INFINITE: Pemisahan komputasi-penyimpanan dinonaktifkan. Data status disimpan hanya di disk lokal.

  • LIMITED: Data status diprioritaskan disimpan di disk lokal. Jika ruang disk lokal tidak mencukupi, data status disimpan di sistem file terdistribusi (DFS).

    Jika ruang disk lokal tidak mencukupi karena jumlah data status yang besar, Anda dapat mengatur parameter ini ke LIMITED dan mengonfigurasi parameter state.backend.gemini.file.cache.preserved-space berdasarkan batas pada disk lokal.

    Catatan

    Nilai parameter ini peka huruf besar/kecil.

state.backend.gemini.file.cache.preserved-space

Ruang disk yang tersedia untuk data status pada Pengelola Tugas.

STRING

2 GB

Jika ruang disk yang tersedia aktual kurang dari nilai parameter ini, GeminiStateBackend menyimpan data status di DFS untuk menghilangkan batas pada penyimpanan lokal.

Saat Anda mengonfigurasi parameter ini, Anda harus menambahkan satuan ke nilai parameter ini. Satuan bisa B, KB, MB, atau GB.

Catatan
  • Satuan tidak peka huruf besar/kecil.

  • Spasi diperlukan antara nilai dan satuan.

Catatan

Object Storage Service (OSS) Client SDK menulis data dari file ke disk lokal sebelum mengunggahnya. Oleh karena itu, jika OSS digunakan sebagai DFS, penggunaan ruang disk yang tidak terduga mungkin terjadi. Saat Flink membuat savepoint, satu backend status menghasilkan hanya satu file. Akibatnya, file besar yang tidak terkompresi dihasilkan dan menghabiskan ruang disk. Dalam skenario ini, fitur pemisahan komputasi-penyimpanan gagal. Untuk menyelesaikan masalah ini, Anda harus meningkatkan paralelisme untuk mengurangi ukuran data status pada satu node.

Parameter untuk pemisahan key-value

Catatan

Tabel berikut menjelaskan parameter untuk pemisahan key-value yang hanya dapat dikonfigurasikan di VVR 4.0.12 dan versi lebih baru.

Parameter

Deskripsi

Tipe Data

Nilai Default

Catatan

state.backend.gemini.kv.separate.mode

Mode pemisahan key-value.

STRING

  • VVR 4.0.12 dan versi 4.0.x lebih baru: DISABLE

  • VVR 6.0.1 dan lebih baru: SPECIFIED_TABLE_ENABLE

Nilai valid:

  • DISABLE: Pemisahan key-value dinonaktifkan.

  • GLOBAL_ENABLE: Pemisahan key-value diaktifkan.

  • SPECIFIED_TABLE_ENABLE: Mesin secara otomatis mengaktifkan atau menonaktifkan pemisahan key-value berdasarkan karakteristik operator penerapan.

    Catatan

    Parameter ini dapat diatur ke SPECIFIED_TABLE_ENABLE hanya di Realtime Compute for Apache Flink yang menggunakan VVR 6.0.1 atau lebih baru.

Catatan
  • Nilai parameter ini peka huruf besar/kecil.

  • Di Realtime Compute for Apache Flink yang menggunakan VVR 4.0.X, jika tingkat keberhasilan operasi JOIN penerapan rendah dan nilai pasangan key-value tinggi, Anda dapat mengatur parameter ini ke GLOBAL_ENABLE untuk mendapatkan kinerja yang lebih baik.

    Anda dapat memperkirakan tingkat keberhasilan operasi JOIN berdasarkan proporsi Records Received dan Records Sent dari node join.

  • Di Realtime Compute for Apache Flink yang menggunakan VVR 6.0.1 atau lebih baru, kami merekomendasikan Anda mempertahankan nilai default parameter ini. Mesin SQL secara otomatis mengaktifkan pemisahan key-value berdasarkan karakteristik operator penerapan.

state.backend.gemini.kv.separate.value.size.threshold

Ambang ukuran nilai yang memicu pemisahan key-value setelah pemisahan key-value diaktifkan.

INTEGER

200

Kunci dan nilai rekaman yang nilainya mencapai ambang ini disimpan secara terpisah. Nilai yang direkomendasikan berkisar antara 150 hingga 1000. Anda dapat menyesuaikan nilai parameter ini berdasarkan tingkat keberhasilan operasi JOIN. Jika tingkat keberhasilan operasi JOIN tinggi, Anda dapat mengatur parameter ini ke nilai besar.

Satuan: byte.

Catatan

Di Realtime Compute for Apache Flink yang menggunakan VVR 6.0.1 atau lebih baru, jika Anda telah mengaktifkan fitur penyetelan parameter adaptif, mesin dapat secara dinamis menyesuaikan nilai parameter ini berdasarkan karakteristik data. Anda tidak perlu secara eksplisit mengonfigurasi parameter ini.

Parameter untuk penyetelan parameter adaptif

Catatan

Tabel berikut menjelaskan parameter untuk penyetelan parameter adaptif yang hanya dapat dikonfigurasikan di VVR 4.0.12 dan versi lebih baru.

Parameter

Deskripsi

Tipe Data

Nilai Default

Catatan

state.backend.gemini.auto-tune.mode

Mode penyetelan parameter adaptif.

STRING

ACTIVE

Nilai valid:

  • DISABLED: Penyetelan parameter adaptif dinonaktifkan.

  • MONITORING: GeminiStateBackend terus memantau status penerapan dan memberikan saran penyetelan parameter di log. GeminiStateBackend tidak secara otomatis menyesuaikan konfigurasi parameter.

  • ACTIVE: GeminiStateBackend terus memantau status penerapan dan secara otomatis menyesuaikan konfigurasi parameter GeminiStateBackend yang tidak dikonfigurasikan di file flink-conf.yaml. Ini adalah nilai default.

  • FORCEFUL: GeminiStateBackend terus memantau status penerapan dan secara otomatis menyesuaikan konfigurasi parameter, termasuk parameter GeminiStateBackend yang dikonfigurasikan di file flink-conf.yaml.

Catatan
  • Nilai parameter ini tidak peka huruf besar/kecil.

  • Kami merekomendasikan Anda menggunakan nilai default.

state.backend.gemini.auto-tune.burst.start.x

Periode waktu selama mode prioritas kinerja digunakan saat penyetelan parameter adaptif diaktifkan.

STRING

(tidak ada)

Huruf x dalam nama parameter dapat diganti dengan angka. start.x sesuai dengan end.x. Anda dapat mengonfigurasi dua parameter ini untuk menentukan beberapa periode waktu. Nilai parameterberada dalam format yyyy-MM-dd HH:mm:ss.

Jika kebutuhan Anda untuk transaksi per detik (TPS) lebih tinggi daripada kebutuhan untuk kinerja, Anda dapat mengonfigurasi dua parameter ini. GeminiStateBackend menggunakan kebijakan prioritas TPS selama periode waktu yang ditentukan oleh parameter ini untuk mencapai TPS yang lebih tinggi. Namun, lebih banyak sumber daya akan dikonsumsi jika Anda mengonfigurasi dua parameter ini. Sumber daya tersebut adalah inti CPU dan memori.

Catatan
  • Secara default, parameter ini tidak dikonfigurasikan.

  • Waktu yang ditentukan oleh parameter state.backend.gemini.auto-tune.burst.end.x harus lebih lambat dari waktu yang ditentukan oleh parameter state.backend.gemini.auto-tune.burst.start.x.

  • Jika Anda mengonfigurasi parameter ini, lebih banyak sumber daya akan dikonsumsi. Oleh karena itu, kami merekomendasikan agar Anda tidak mengonfigurasi parameter ini.

state.backend.gemini.auto-tune.burst.end.x