Memecahkan masalah orang yang kesulitan dalam tugas streaming

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:

  1. Di Google Cloud Console, buka halaman Tugas Dataflow.

    Buka Tugas

  2. Klik nama pekerjaan.

  3. Di halaman Job details, klik tab Execution details.

  4. Dalam daftar Tampilan grafik, pilih Progres tahapan. Grafik progres menampilkan jumlah gabungan semua pengguna yang tidak stabil yang terdeteksi dalam setiap tahap.

    Screenshot tampilan progres tahap.

  5. 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.

    Screenshot kartu detail pengguna yang mengganggu.

Melihat penyimpan menurut alur kerja tahap

Untuk melihat penyimpan menurut alur kerja tahap:

  1. Di Google Cloud Console, buka halaman Tugas Dataflow.

    Buka Lowongan

  2. Klik nama pekerjaan.

  3. Di halaman detail tugas, klik tab Detail eksekusi.

  4. Dalam daftar Tampilan grafik, pilih Alur kerja Stage. Alur kerja tahap menunjukkan tahap eksekusi tugas, yang direpresentasikan sebagai grafik alur kerja.

    Screenshot tampilan alur kerja tahap.

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 macet DoFns. 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