Untuk pipeline streaming, straggler didefinisikan sebagai item kerja dengan karakteristik berikut:
- Hal ini mencegah watermark muncul dalam jangka waktu yang signifikan (dalam urutan menit).
- Hal ini memproses dalam waktu yang lama relatif terhadap item pekerjaan lain dalam tahap yang sama.
Stragglers menahan watermark dan menambahkan latensi ke tugas. Jika jeda dapat diterima untuk kasus penggunaan Anda, Anda tidak perlu melakukan tindakan apa pun. Jika Anda ingin mengurangi latensi tugas, mulailah dengan mengatasi setiap hambatan.
Melihat gangguan streaming di Konsol Google Cloud
Setelah memulai tugas Dataflow, Anda dapat menggunakan Google Cloud Console untuk melihat semua penyimpan yang terdeteksi.
Anda dapat melihat gangguan streaming dalam tampilan progres tahap atau tampilan alur kerja tahap.
Lihat orang yang kesulitan berdasarkan progres tahap
Untuk melihat penyimpan menurut progres tahap:
Di Google Cloud Console, buka halaman Tugas Dataflow.
Klik nama pekerjaan.
Di halaman Job details, klik tab Execution details.
Dalam daftar Tampilan grafik, pilih Progres tahapan. Grafik progres menampilkan jumlah gabungan semua pengguna yang tidak stabil yang terdeteksi dalam setiap tahap.
Untuk melihat detail suatu bidang, tahan kursor di atas bilah untuk bidang tersebut. Panel detail menyertakan link ke log pekerja. Dengan mengklik link ini, Cloud Logging yang dicakupkan ke pekerja dan rentang waktu saat straggler terdeteksi.
Melihat penyimpan menurut alur kerja tahap
Untuk melihat penyimpan menurut alur kerja tahap:
Di Google Cloud Console, buka halaman Tugas Dataflow.
Buka Lowongan
Klik nama pekerjaan.
Di halaman detail tugas, klik tab Detail eksekusi.
Dalam daftar Tampilan grafik, pilih Alur kerja Stage. Alur kerja tahap menunjukkan tahap eksekusi tugas, yang direpresentasikan sebagai grafik alur kerja.
Memecahkan masalah streaming yang melelahkan
Jika straggler terdeteksi, berarti operasi di pipeline Anda telah berjalan untuk waktu yang biasanya lama.
Untuk memecahkan masalah ini, periksa terlebih dahulu apakah Insight Dataflow menunjukkan masalah yang mungkin muncul.
Jika Anda tetap tidak dapat menentukan penyebabnya, periksa log pekerja untuk mengetahui tahap yang melaporkan pemulung. Untuk melihat log pekerja yang relevan, lihat detail yang sulit dalam progres tahap. Kemudian, klik link untuk pekerja tersebut. Link ini akan membuka Cloud Logging, yang dicakupkan ke pekerja dan rentang waktu saat straggler terdeteksi. Cari masalah yang mungkin memperlambat tahapan, seperti:
- Bug dalam kode
DoFn
atau macetDoFns
. Cari pelacakan tumpukan dalam log, di dekat stempel waktu saat straggler terdeteksi. - Panggilan ke layanan eksternal yang memerlukan waktu lama untuk diselesaikan. Untuk mengurangi masalah ini, lakukan banyak panggilan ke layanan eksternal dan tetapkan waktu tunggu pada RPC.
- Batas kuota di sink. Jika pipeline Anda menghasilkan output ke layanan Google Cloud, Anda mungkin dapat meningkatkan kuota. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kuota. Selain itu, baca dokumentasi untuk layanan tertentu untuk strategi pengoptimalan, serta dokumentasi untuk Konektor I/O.
DoFns
yang menjalankan operasi baca atau tulis besar pada status persisten. Pertimbangkan untuk memfaktorkan ulang kode Anda untuk melakukan pembacaan atau penulisan yang lebih kecil pada status persisten.
Anda juga dapat menggunakan panel Info samping untuk menemukan langkah paling lambat dalam tahapan. Salah satu dari langkah-langkah ini mungkin menyebabkan orang yang kesulitan. Klik nama langkah untuk melihat log pekerja untuk langkah tersebut.
Setelah menentukan penyebabnya, update pipeline Anda dengan kode baru dan pantau hasilnya.
Langkah selanjutnya
- Pelajari cara menggunakan Antarmuka pemantauan Dataflow.
- Pahami tab Execution details di antarmuka pemantauan.