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:
Untuk mengoordinasikan sumber daya memori dan kinerja, konfigurasikan parameter terkait memori. Untuk informasi lebih lanjut, lihat Parameter terkait memori.
Jika ruang disk lokal tidak mencukupi, konfigurasikan parameter untuk pemisahan komputasi-penyimpanan. Untuk informasi lebih lanjut, lihat Parameter untuk pemisahan komputasi-penyimpanan.
Jika operator JOIN memiliki hambatan kinerja, konfigurasikan parameter untuk pemisahan key-value. Untuk informasi lebih lanjut, lihat Parameter untuk pemisahan key-value.
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 |
| 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:
Catatan
|
Parameter terkait memori
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:
Catatan
|
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
|
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
|
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
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 |
| Nilai valid:
|
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
|
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
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 |
| Nilai valid:
Catatan
|
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
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:
Catatan
|
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
|
state.backend.gemini.auto-tune.burst.end.x |