全部产品
Search
文档中心

Application Real-Time Monitoring Service:Gunakan diagram api untuk menemukan hambatan kinerja

更新时间:Jul 02, 2025

Application Real-Time Monitoring Service (ARMS) menyediakan fitur profiling berkelanjutan yang menghasilkan diagram api untuk analisis penyebab akar dari hambatan kinerja, seperti pemanfaatan CPU/memori tinggi dan lonjakan latensi.

Apa itu diagram api

Diagram api adalah alat profil visual yang secara grafis merepresentasikan hierarki tumpukan panggilan dan distribusi waktu eksekusinya, memungkinkan pengembang mengidentifikasi hambatan kinerja.

f13b95a2436706e37974aad93e9e0a40

Diagram api terdiri dari sumbu x, sumbu y, dan beberapa kotak. Setiap kotak mewakili suatu fungsi dalam tumpukan. Sumbu x mengukur proporsi penggunaan sumber daya suatu fungsi, sedangkan sumbu y mengukur Kedalaman suatu fungsi. Dengan membandingkan diagram api pada titik waktu yang berbeda, Anda dapat mendiagnosis dan menangani hambatan kinerja program dengan efisien.

Kategori

Diagram api diklasifikasikan menjadi dua kategori: diagram api (dalam arti sempit) dan diagram icicle. Pada diagram api dalam arti sempit, elemen atas berada di bagian atas, dan elemen bawah berada di bagian bawah, seperti yang ditunjukkan pada Gambar 1. Pada diagram icicle, elemen atas berada di bagian bawah, sedangkan elemen bawah berada di bagian atas, seperti yang ditunjukkan pada Gambar 2.

Gambar 1. Diagram api (dalam arti sempit)

f13b95a2436706e37974aad93e9e0a40

Gambar 2. Diagram icicle

image

Menggunakan diagram api

Karena diagram api mewakili sebuah tumpukan, fungsi dengan kotak lebar mengonsumsi lebih banyak CPU dibandingkan dengan kotak sempit.

Dalam ilmu komputer, tumpukan adalah tipe data abstrak yang berfungsi sebagai kumpulan elemen dengan dua operasi utama: Push dan Pop. Operasi Push memasukkan elemen ke dalam tumpukan, dan operasi Pop menghapus elemen dari tumpukan. Bagian bawah tumpukan berisi fungsi yang pertama kali dipanggil, dan bagian atas tumpukan berisi fungsi anak yang baru saja dipanggil. Ketika fungsi anak terakhir dieksekusi di bagian atas, ia akan dihapus dari tumpukan. Semakin lama waktu yang diperlukan untuk mengeksekusi fungsi tersebut, semakin lama waktu yang dikonsumsi oleh fungsi induknya dan semakin lebar kotaknya, seperti yang ditunjukkan pada gambar berikut.

Anda dapat melakukan langkah-langkah berikut untuk menganalisis diagram api:

  1. Identifikasi bagian atas berdasarkan jenis diagram api.

  2. Jika total Penggunaan sumber daya dari diagram api tinggi, periksa apakah bagian atas tumpukan memiliki kotak lebar.

  3. Jika bagian atas tumpukan memiliki kotak lebar, telusuri dari atas ke bawah, temukan metode pertama yang didefinisikan oleh aplikasi, dan periksa apakah metode tersebut dapat dioptimalkan.

Contoh

Gambar berikut menunjukkan diagram api dengan Penggunaan sumber daya tinggi. Aktifkan fitur profiling berkelanjutan dan ikuti langkah-langkah berikut untuk menemukan hambatan kinerja.

image

  1. Karena ini adalah diagram icicle dengan bagian atas tumpukan di bagian bawah dan bagian bawah tumpukan di bagian atas, analisis harus dimulai dari bawah ke atas.

  2. Metode java.util.LinkedList.node(int) di sisi kanan bagian atas tumpukan memiliki kotak lebar.

  3. Karena metode java.util.LinkedList.node(int) adalah fungsi pustaka Java Development Kit (JDK), Anda perlu mencari lebih jauh ke atas, dan Anda dapat menemukan metode java.util.LinkedList.get(int) serta metode induknya com.alibaba.cloud.pressure.memory.HotSpotAction.readFile(). Sebagai metode layanan pertama yang didefinisikan oleh aplikasi, metode com.alibaba.cloud.pressure.memory.HotSpotAction.readFile() mengonsumsi 3,89 detik, atau sekitar 76,06% dari tumpukan. Oleh karena itu, dapat disimpulkan bahwa metode com.alibaba.cloud.pressure.memory.HotSpotAction.readFile() mengonsumsi sejumlah besar sumber daya dalam periode waktu tertentu. Anda dapat menggunakan metode ini untuk menganalisis logika metode terkait dan memeriksa apakah mereka dapat dioptimalkan.

    Selain itu, berdasarkan metode java.net.SocketInputStream di pojok kiri bawah diagram api, Anda dapat menemukan metode induk pertama yang didefinisikan oleh aplikasi adalah com.alibaba.cloud.pressure.memory.HotSpotAction.invokeAPI, yang mencakup sekitar 23% dari tumpukan.

Referensi

Saat menggunakan fitur profiling berkelanjutan: