全部产品
Search
文档中心

Realtime Compute for Apache Flink:Diagnosis dan pencegahan timeout checkpoint serta savepoint

更新时间:Feb 28, 2026

Timeout checkpoint dan savepoint terjadi selama salah satu dari dua fase dalam proses checkpointing: penyelarasan barrier yang lambat (fase sinkron) atau pengunggahan state yang lambat (fase asinkron). Topik ini menjelaskan cara mengidentifikasi fase bottleneck dan menerapkan metode penyetelan yang sesuai.

Fase checkpoint

Realtime Compute for Apache Flink menggunakan algoritma Chandy-Lamport untuk manajemen state, memastikan konsistensi data dan keandalan. Setiap checkpoint atau savepoint melewati dua fase:

  1. Fase sinkron — Sistem menunggu barrier menyelaraskan di seluruh operator. Barrier adalah jenis khusus catatan data yang dilewatkan antar operator. Waktu yang dibutuhkan untuk penyelarasan barrier sebanding dengan keterlambatan kedatangan catatan data.

  2. Fase asinkron — Setiap operator mengunggah state lokalnya ke sistem penyimpanan persisten remote. Waktu unggah sebanding dengan ukuran state.

Penting

Tekanan balik (backpressure) memperlambat propagasi barrier selama fase sinkron, yang secara langsung menyebabkan timeout checkpoint dan savepoint. Atasi tekanan balik sebelum menyelidiki masalah timeout. Untuk panduan, lihat Kontrol ukuran state untuk mengurangi backpressure dalam penerapan SQL dan Kontrol ukuran state untuk mengurangi backpressure menggunakan DataStream API.

Identifikasi fase bottleneck

Setelah mengatasi tekanan balik, jika checkpoint atau savepoint masih mengalami timeout, gunakan alat berikut untuk menentukan apakah bottleneck terjadi di fase sinkron atau fase asinkron.

UI riwayat Checkpoint

Navigasi ke O&M > Deployments, klik nama deployment target, lalu buka Logs > Checkpoints > Checkpoints History. Tampilan ini menyediakan metrik tingkat deployment, tingkat operator, dan tingkat subtask.

Checkpoint history UI

Identifikasi operator tempat checkpoint mengalami timeout atau masih dalam proses, lalu periksa metrik berikut:

MetricDescription
Sync DurationTotal waktu yang dihabiskan dalam fase sinkron, termasuk snapshotting state operator.
Alignment DurationWaktu antara pemrosesan barrier checkpoint pertama dan terakhir. Nilai tinggi mengindikasikan distribusi data yang tidak merata di saluran input.
Async DurationWaktu yang dihabiskan untuk mengunggah state ke penyimpanan remote.
Checkpointed Data SizeVolume data state yang ditulis selama checkpoint.

Cara menginterpretasikan hasil:

  • Sync Duration atau Alignment Duration tinggi — Bottleneck berada di fase sinkron. Barrier bergerak lambat melalui graf pekerjaan, biasanya disebabkan oleh sisa tekanan balik atau skew saluran.

  • Async Duration atau Checkpointed Data Size tinggi — Bottleneck berada di fase asinkron. State terlalu besar untuk diunggah dalam jendela timeout.

Metrik checkpoint

Navigasi ke O&M > Deployments, klik nama deployment target, lalu buka tab Logs dan klik Alarm. Metrik lastCheckpointDuration dan lastCheckpointSize memberikan gambaran kasar tentang performa historis checkpoint, berguna untuk mengidentifikasi tren dari waktu ke waktu.

Optimalkan performa checkpoint dan savepoint

Sebelum menerapkan metode penyetelan apa pun, pastikan performa runtime deployment memenuhi ekspektasi. Performa runtime yang buruk memperparah masalah checkpoint. Setelah mengoptimalkan performa runtime, terapkan satu atau beberapa metode berikut berdasarkan fase bottleneck.

Metode-metode ini tidak saling eksklusif. Gabungkan jika deployment mengalami bottleneck di kedua fase.

Gunakan checkpoint unaligned dan buffer debloating

PropertyDetails
Kapan digunakanTimeout checkpoint atau savepoint disebabkan oleh fase sinkron
Cara membantuMenghilangkan kebutuhan penyelarasan barrier, menyelesaikan masalah timeout terkait barrier yang lambat atau skew. Efektif untuk deployment dalam semua ukuran.
KonfigurasiLihat Checkpointing under backpressure dalam dokumentasi Apache Flink.

Checkpoint unaligned memiliki batasan tertentu. Tinjau bagian Limitations dalam dokumentasi Apache Flink sebelum mengaktifkan fitur ini.

Tingkatkan parallelism

PropertyDetails
Kapan digunakanTimeout checkpoint atau savepoint disebabkan oleh fase asinkron
Cara membantuMendistribusikan data state ke lebih banyak task paralel, sehingga mengurangi jumlah data yang diunggah setiap task selama fase asinkron.
KonfigurasiSesuaikan parallelism menggunakan mode dasar atau ahli pada konfigurasi resource. Lihat Konfigurasikan resource untuk deployment.

Gunakan format native untuk savepoint

PropertyDetails
Kapan digunakanTimeout savepoint disebabkan oleh fase asinkron
Cara membantuFormat native menghasilkan savepoint lebih cepat dan mengonsumsi lebih sedikit storage space dibandingkan format standar.
KonfigurasiBuat savepoint dalam format native untuk deployment yang sedang berjalan. Lihat bagian "Manually create a savepoint" dalam Manajemen status set.
Penting

Savepoint dalam format native tidak menjamin kompatibilitas lintas versi mayor Flink. Jika diperlukan kompatibilitas lintas versi, gunakan format standar sebagai gantinya.

Referensi