全部产品
Search
文档中心

Realtime Compute for Apache Flink:Tingkatkan kecepatan startup dan penskalaan

更新时间:Jul 02, 2025

Saat memulai ulang penyebaran berdasarkan checkpoint atau savepoint, data status diunduh dari penyimpanan jarak jauh untuk membangun kembali mesin status. Proses ini dapat menyebabkan hambatan signifikan karena operasi I/O yang intensif. Topik ini menjelaskan cara mengidentifikasi dan mengatasi hambatan kinerja selama startup dan penskalaan penyebaran.

Langkah-langkah investigasi

Ikuti langkah-langkah berikut untuk mengidentifikasi hambatan selama startup atau penskalaan penyebaran:

  1. Gunakan alat diagnostik untuk menganalisis status operator: Gunakan alat seperti thread dump, analisis aktivitas thread, dan flame graph untuk memeriksa apakah thread operator dibatasi selama fase inisialisasi, terutama oleh operasi pada backend status seperti GeminiStateBackend. Untuk informasi lebih lanjut tentang penggunaan alat diagnostik, lihat Monitor Kinerja Penyebaran.

  2. Identifikasi penyebabnya: Jika operator stateful tetap berada dalam fase inisialisasi untuk waktu yang lama, kemungkinan besar hambatan disebabkan oleh unduhan data status atau pemulihan.

Metode penyetelan

Tabel berikut menjelaskan metode yang dapat digunakan untuk meningkatkan kecepatan startup dan penskalaan.

Metode

Deskripsi

Konfigurasi

Catatan Penggunaan

Konfigurasikan Penskalaan Dinamis

Metode ini memungkinkan Anda memperbarui parameter TaskManager secara dinamis untuk mengurangi waktu gangguan layanan akibat startup dan pembatalan penyebaran.

Untuk informasi lebih lanjut, lihat Perbarui Konfigurasi Parameter Secara Dinamis untuk Penskalaan Dinamis.

Pembaruan parameter dinamis adalah fitur eksperimental dan dapat menyebabkan gangguan layanan. Dibandingkan dengan metode tradisional, fitur ini secara signifikan mengurangi waktu gangguan menjadi antara 5 detik hingga 1 menit. Waktu gangguan aktual bervariasi berdasarkan faktor-faktor seperti topologi penyebaran dan ukuran status.

Aktifkan Pemulihan Lokal

Metode ini memungkinkan snapshot disimpan secara lokal sebagai cadangan. Akibatnya, jumlah data yang lebih kecil diunduh dari penyimpanan jarak jauh, yang mempercepat proses pemulihan. Jika ruang disk lokal mencukupi, ini adalah opsi yang paling sesuai.

Tambahkan

state.backend.local-recovery: true

Untuk informasi lebih lanjut, lihat bagian "Bagaimana cara mengonfigurasi parameter untuk penyebaran yang sedang berjalan?" dari topik Referensi.

  • Kami merekomendasikan Anda mengaktifkan fitur eksperimental di Ververica Runtime (VVR) 8.0.8 atau versi lebih baru.

  • Metode ini hanya berlaku untuk failover atau pembaruan parameter dinamis. Jika Anda secara manual membatalkan dan memulai ulang penyebaran, pemulihan lokal tidak akan berlaku.

  • Ruang disk lokal tambahan diperlukan.

Gunakan Fitur Lazy Loading dan Delayed Pruning dari GeminiStateBackend

GeminiStateBackend adalah backend status kelas perusahaan yang dikembangkan oleh Alibaba Cloud. GeminiStateBackend memungkinkan penyebaran dengan status besar untuk segera mulai dengan hanya mengunduh metadata yang diperlukan untuk mencapai pemrosesan data real-time. Kemudian, sistem menggunakan unduhan asinkron dan pemangkasan cerdas untuk memproses file checkpoint jarak jauh secara efisien. Ini secara signifikan mengurangi waktu gangguan dan meningkatkan efisiensi lebih dari 90%. Untuk informasi lebih lanjut, lihat GeminiStateBackend.

Tambahkan konfigurasi

state.backend.gemini.file.cache.download.type: LazyDownloadOnRestore

Untuk informasi lebih lanjut, lihat bagian "Bagaimana cara mengonfigurasi parameter untuk penyebaran yang sedang berjalan?" dari topik Referensi.

Catatan

Konfigurasi ini hanya didukung di VVR 6.0.6 atau versi lebih baru.

Setelah penyebaran dimulai ulang, penurunan performa sementara terjadi karena unduhan asinkron file status. Performa secara bertahap membaik saat file status sepenuhnya dipulihkan.

Referensi