Anda dapat memantau kinerja penyebaran yang sedang berjalan berdasarkan metrik JobManager dan TaskManagers terkait. Sebagai contoh, Anda dapat melihat pemanfaatan CPU, memori, dan thread. Hal ini membantu mengidentifikasi potensi masalah seperti kesalahan kode, inisialisasi kelas yang lambat, atau pemanfaatan sumber daya tinggi oleh kelas tertentu. Topik ini menjelaskan cara melihat kinerja JobManager dan TaskManagers dari penyebaran yang sedang berjalan.
Prasyarat
Izin yang diperlukan telah diberikan kepada akun Alibaba Cloud atau Pengguna Manajemen Akses Sumber Daya (RAM) yang digunakan untuk mengakses namespace Realtime Compute for Apache Flink Anda. Untuk informasi lebih lanjut, lihat Memberikan Izin pada Namespace.
Batasan
Hanya Realtime Compute for Apache Flink yang menggunakan Ververica Runtime (VVR) 4.0.11 atau versi lebih baru yang mendukung pemantauan kinerja penyebaran.
Fitur pemantauan kinerja hanya berlaku untuk penyebaran yang sedang berjalan. Anda tidak dapat melihat kinerja penyebaran historis.
Gunakan alat analisis kinerja
Graf Api
Graf api mungkin gagal menangkap konteks eksekusi lengkap karena dibuat berdasarkan data sampel dalam banyak kasus. Untuk meningkatkan akurasi diagnosis hambatan, disarankan menggunakan graf api bersama dengan alat analisis kinerja lainnya sambil meninjau ulang kode aktual Anda. Anda dapat mengidentifikasi hambatan kinerja berdasarkan faktor-faktor berikut:
Konsumsi CPU: Dalam banyak kasus, bingkai yang lebih lebar di grafik menunjukkan bahwa panggilan fungsi tingkat atas terkait mengonsumsi lebih banyak sumber daya CPU daripada panggilan lain, yang dapat menyebabkan masalah kinerja.
Alokasi memori: penggunaan memori fungsi yang berbeda.
Kunci: potensi masalah kinerja yang disebabkan oleh persaingan kunci atau deadlock.
ITimer: konsumsi CPU semua thread dalam interval tertentu.

Prosedur untuk menggunakan graf api guna mengidentifikasi potensi hambatan kinerja:
Lihat struktur graf api.
Graf api terdiri dari beberapa lapisan bingkai stack. Setiap lapisan mewakili level dalam tumpukan panggilan. Lapisan bawah menunjukkan titik masuk ke aplikasi, dan lapisan atas menunjukkan panggilan fungsi tingkat lebih tinggi.
Fokus pada lebar dan frekuensi bingkai stack.
Bingkai stack yang lebih lebar menunjukkan bahwa fungsi tersebut mengonsumsi lebih banyak waktu CPU daripada fungsi lain, yang sering menyebabkan masalah hambatan. Jika bingkai stack tertentu sering muncul, fungsi yang sesuai dipanggil berulang kali, yang dapat menyebabkan masalah kinerja.
Tentukan level tumpukan panggilan.
Posisi vertikal bingkai stack menunjukkan level tumpukan panggilan. Dalam banyak kasus, bingkai lebar di bagian bawah menunjukkan bahwa masalah terjadi pada tahap awal atau di bagian utama program, sedangkan bingkai lebar di bagian atas menunjukkan masalah terkait fungsi tertentu.
Tinjau ulang kode Anda.
Tinjau ulang kode Anda dan optimalkan implementasi titik panas yang Anda identifikasi di langkah-langkah sebelumnya. Sebagai contoh, Anda dapat mengurangi jumlah loop, meningkatkan struktur data, dan mengurangi operasi sinkronisasi.
Jalankan tes kinerja.
Jalankan tes kinerja untuk memvalidasi optimasi kode Anda. Anda dapat membandingkan graf api sebelum dan sesudah optimasi untuk memeriksa apakah hambatan telah dihilangkan.
Jika fungsi non-Java ada di kode Anda, bingkai stack yang sesuai dilabeli dengan kata kunci "unknown" di graf api. Untuk informasi lebih lanjut, kunjungi GitHub.
Thread
Pergi ke tab Debug.
Kinerja JobManager
Di tab Logs, klik tab Job Manager dan klik tab Debug.
Kinerja TaskManagers yang sedang berjalan
Di tab Logs, klik tab Running Task Managers, klik nilai di kolom Path, ID, dan kemudian klik Debug.
Pergi ke tab Threads, temukan operator yang ingin Anda kelola dan klik Sample di kolom Actions. Di jendela yang muncul, tunggu beberapa saat agar operator diambil sampelnya. Kemudian, periksa tumpukan thread. Gambar berikut menunjukkan tumpukan thread yang diakses oleh Gemini State.

Thread Dump
Di tab Logs, klik tab Running Task Managers dan klik nilai di kolom Path, ID.
Pergi ke tab Thread Dump, cari operator yang digunakan untuk memproses data state berdasarkan nama, dan periksa apakah tumpukan thread yang berisi informasi interaksi antara operator dan GeminiStateBackend atau RocksDBStateBackend ditampilkan di bawah operator.
Anda dapat melihat nama operator di tab Status.
Referensi
Fitur diagnostik penyebaran cerdas dapat membantu Anda memantau status kesehatan penyebaran Anda dan memastikan stabilitas serta keandalan bisnis Anda. Untuk informasi lebih lanjut, lihat Melakukan Diagnostik Penyebaran Cerdas.
Anda dapat menggunakan konfigurasi penyebaran dan optimasi Flink SQL untuk meningkatkan kinerja penyebaran Flink SQL. Untuk informasi lebih lanjut, lihat Optimasi Flink SQL.