Memecahkan masalah tugas batch yang lambat atau macet

Halaman ini menjelaskan cara memecahkan masalah penyebab umum tugas batch Dataflow yang lambat atau macet.

Jika tugas batch Anda lambat atau macet, gunakan tab Detail eksekusi untuk menemukan informasi lebih lanjut tentang tugas dan mengidentifikasi tahap atau pekerja yang menyebabkan hambatan.

Mengidentifikasi akar masalah

  1. Periksa apakah tugas mengalami masalah selama startup pekerja. Untuk mengetahui informasi selengkapnya, lihat Error saat menyinkronkan pod.

    Untuk memverifikasi bahwa tugas telah mulai memproses data, lihat log job-message untuk menemukan entri log berikut:

    All workers have finished the startup processes and began to receive work requests
    
  2. Untuk membandingkan performa tugas di antara tugas yang berbeda, pastikan volume data input, konfigurasi pekerja, perilaku penskalaan otomatis, dan setelan Pengacakan Dataflow sama.

  3. Periksa log job-message untuk mengetahui masalah seperti batas kuota, masalah kehabisan stok, atau kehabisan alamat IP.

  4. Di tab Detail eksekusi, bandingkan progres stage untuk mengidentifikasi stage yang membutuhkan waktu lebih lama.

  5. Cari straggler dalam tugas. Untuk mengetahui informasi selengkapnya, lihat Memecahkan masalah tugas batch yang tertunda.

  6. Periksa metrik throughput, CPU, dan pemakaian memori.

  7. Periksa log pekerja untuk mengetahui peringatan dan error.

  8. Periksa tombol pintas.

  9. Jika Anda tidak menggunakan Dataflow Shuffle, periksa log pengacak untuk mengetahui peringatan dan error selama operasi pengacakan. Jika Anda melihat error waktu tunggu RPC di port 12345 atau 12346, tugas Anda mungkin tidak memiliki aturan firewall. Lihat Aturan firewall untuk Dataflow.

  10. Jika Runner v2 diaktifkan, periksa log harness untuk mengetahui error. Untuk mengetahui informasi selengkapnya, lihat Memecahkan Masalah Runner v2.

Mengidentifikasi peserta yang tertinggal

Item lambat adalah item kerja yang lambat dibandingkan dengan item kerja lainnya dalam tahap. Untuk mengetahui informasi tentang cara mengidentifikasi dan memperbaiki straggler, lihat Memecahkan masalah straggler dalam tugas batch.

Mengidentifikasi tahap yang lambat atau macet

Untuk mengidentifikasi tahap yang lambat atau macet, gunakan tampilan Progres tahap. Batang yang lebih panjang menunjukkan bahwa tahap tersebut membutuhkan lebih banyak waktu. Gunakan tampilan ini untuk mengidentifikasi tahap terlama dalam pipeline Anda.

Setelah menemukan tahap hambatan, Anda dapat melakukan langkah-langkah berikut:

  • Identifikasi pekerja yang tertinggal dalam tahap tersebut.
  • Jika tidak ada pekerja yang tertinggal, identifikasi langkah paling lambat menggunakan panel Info tahap. Gunakan informasi ini untuk mengidentifikasi kandidat pengoptimalan kode pengguna.

Mengidentifikasi pekerja yang tertinggal

Untuk mengidentifikasi pekerja yang tertinggal di tahap tertentu, gunakan tampilan Progres pekerja. Tampilan ini menunjukkan apakah semua pekerja memproses pekerjaan hingga akhir tahap, atau apakah satu pekerja mengalami masalah pada tugas yang tertunda. Jika Anda menemukan pekerja yang lambat, lakukan langkah-langkah berikut:

Alat untuk proses debug

Jika pipeline Anda lambat atau macet, alat berikut dapat membantu Anda mendiagnosis masalah tersebut.

Untuk metrik tambahan yang tidak disertakan dalam antarmuka web pemantauan Dataflow, lihat daftar lengkap metrik Dataflow di Google Cloud metrik.