Membuat profil aplikasi produksi di Azure dengan Application Insights Profiler

Mendiagnosis masalah performa aplikasi Anda bisa sulit, terutama saat berjalan di lingkungan produksi di cloud dinamis. Respons lambat dalam aplikasi Anda dapat disebabkan oleh infrastruktur, kerangka kerja, atau kode aplikasi yang menangani permintaan di alur.

Dengan Application Insights Profiler, Anda dapat menangkap, mengidentifikasi, dan melihat jejak performa untuk aplikasi Anda yang berjalan di Azure, terlepas dari skenarionya. Proses pelacakan Profiler terjadi secara otomatis, dalam skala besar, dan tidak berdampak negatif pada pengguna Anda. Profiler mengidentifikasi:

  • Waktu respons median, tercepat, dan terlambat untuk setiap permintaan web yang dibuat oleh pelanggan Anda.
  • Jalur kode "panas" menghabiskan waktu paling lama menangani permintaan web tertentu.

Aktifkan Profiler di semua aplikasi Azure Anda untuk mengumpulkan data dengan pemicu berikut:

  • Pemicu pengambilan sampel: Memulai Profiler secara acak sekitar satu jam sekali selama dua menit.
  • Pemicu CPU: Memulai Profiler ketika persentase penggunaan CPU lebih dari 80 persen.
  • Pemicu memori: Memulai Profiler saat penggunaan memori di atas 80 persen.

Masing-masing pemicu ini dapat dikonfigurasi , diaktifkan, atau dinonaktifkan.

Algoritma overhead dan sampling

Profiler secara acak berjalan dua menit per jam pada setiap aplikasi hosting komputer virtual dengan Profiler diaktifkan. Saat Profiler berjalan, Profiler menambahkan dari 5 persen ke 15 persen overhead CPU ke server.

Didukung di Profiler

Profiler bekerja dengan aplikasi .NET yang disebarkan pada layanan Azure berikut. Lihat instruksi khusus untuk mengaktifkan Profiler untuk setiap jenis layanan di tautan berikut.

Komputasi platform .NET (>= 4.6) .NET Core
Azure App Service Ya Ya
Azure Virtual Machines dan Virtual Machine Scale Sets untuk Windows Ya Ya
Azure Virtual Machines dan Virtual Machine Scale Sets untuk Linux Tidak Ya
Microsoft Azure Cloud Services Ya Ya
Azure Container Instances untuk Windows Tidak Ya
Azure Container Instances untuk Linux Tidak Ya
Kubernetes Tidak Ya
Azure Functions Ya Ya
Azure Service Fabric Ya Ya

Catatan

Anda juga dapat menggunakan Java Profiler untuk Azure Monitor Application Insights, yang saat ini dalam pratinjau.

Jika Anda telah mengaktifkan Profiler tetapi tidak melihat jejak, lihat panduan Pemecahan Masalah.

Pembatasan

  • Retensi data: Periode retensi data default adalah lima hari.
  • Membuat profil aplikasi web:
    • Meskipun Anda dapat menggunakan Profiler tanpa biaya tambahan, aplikasi web Anda harus dihosting di tingkat dasar fitur Web Apps Azure App Service, minimal.
    • Anda hanya dapat melampirkan satu profiler ke setiap aplikasi web.

Langkah berikutnya

Pelajari cara mengaktifkan Profiler di layanan Azure Anda: