Menemukan dan mendiagnosis masalah performa dengan Application Insights

Application Insights mengumpulkan telemetri dari Aplikasi Anda untuk membantu menganalisis operasi dan performanya. Anda dapat menggunakan informasi ini untuk mengidentifikasi masalah yang mungkin muncul atau peningkatan pada aplikasi yang paling berdampak bagi pengguna. Tutorial ini memandu Anda untuk melakukan proses analisis terhadap performa komponen server aplikasi dan perspektif klien.

Anda akan mempelajari cara untuk:

  • Identifikasi performa operasi sisi server.
  • Analisis operasi server untuk menentukan akar penyebab performa lambat.
  • Identifikasi operasi sisi klien yang paling lambat.
  • Analisis detail tampilan halaman dengan menggunakan bahasa kueri.

Prasyarat

Untuk menyelesaikan tutorial ini:

  • Instal Visual Studio 2019 dengan beban kerja berikut:
    • ASP.NET dan pengembangan web
    • Pengembangan Azure
  • Menyebarkan aplikasi .NET ke Azure dan mengaktifkan Application Insights SDK
  • Aktifkan profiler Application Insights untuk aplikasi Anda.

Masuk ke Azure

Masuk ke portal Microsoft Azure.

Identifikasi operasi server lambat

Application Insights mengumpulkan detail performa untuk berbagai operasi di aplikasi Anda. Dengan mengidentifikasi operasi dengan durasi terpanjang, Anda dapat mendiagnosis potensi masalah atau menargetkan pengembangan yang sedang berlangsung untuk meningkatkan performa aplikasi secara keseluruhan.

  1. Pilih Application Insights lalu pilih langganan Anda.

  2. Untuk membuka panel Performa , pilih Performa di bawah menu Selidiki atau pilih grafik Waktu respons server .

    Cuplikan layar yang memperlihatkan tampilan Performa.

  3. Layar Performa menunjukkan jumlah dan durasi rata-rata setiap operasi untuk aplikasi. Anda dapat menggunakan informasi ini untuk mengidentifikasi operasi yang paling memengaruhi pengguna. Dalam contoh ini, GET Customers/Details dan GET Home/Index merupakan kandidat operasi yang dapat diselidiki karena durasi dan jumlah panggilannya yang relatif tinggi. Operasi lain mungkin memiliki durasi yang lebih tinggi tetapi jarang dipanggil, sehingga efek peningkatannya akan minimal.

    Cuplikan layar yang memperlihatkan panel Server performa.

  4. Grafik saat ini menunjukkan durasi rata-rata operasi yang dipilih dari waktu ke waktu. Anda dapat beralih ke persentil ke-95 untuk menemukan masalah performa. Tambahkan operasi yang Anda minati dengan menyematkannya ke grafik. Grafik menunjukkan bahwa ada beberapa puncak yang layak diselidiki. Untuk mengisolasinya lebih lanjut, kurangi jendela waktu grafik.

    Cuplikan layar yang memperlihatkan operasi Sematkan.

  5. Panel performa di sebelah kanan menunjukkan distribusi durasi permintaan yang berbeda untuk operasi yang dipilih. Kurangi jendela untuk memulai di sekitar persentil ke-95. Kartu wawasan 3 Dependensi Teratas dapat memberi tahu Anda sekilas bahwa dependensi eksternal kemungkinan berkontribusi pada transaksi yang lambat. Pilih tombol dengan jumlah sampel untuk melihat daftar sampel. Kemudian pilih sampel apa pun untuk melihat detail transaksi.

  6. Anda dapat melihat sekilas bahwa panggilan ke Tabel Azure Fabrikamaccount berkontribusi paling besar terhadap total durasi transaksi. Terlihat juga bahwa pengecualian menyebabkan kegagalan. Pilih item apa pun dalam daftar untuk melihat detailnya di sisi kanan.

    Cuplikan layar yang memperlihatkan detail transaksi end-to-end Operasi.

  7. Profiler membantu melangkah lebih jauh dengan diagnostik tingkat kode dengan menunjukkan kode aktual yang berjalan untuk operasi dan waktu yang diperlukan untuk setiap langkah. Beberapa operasi mungkin tidak memiliki jejak karena Profiler berjalan secara berkala. Seiring waktu, jumlah operasi yang makin banyak harus memiliki jejak. Untuk memulai Profiler untuk operasi, pilih Jejak profiler.

  8. Jejak menunjukkan peristiwa individual untuk setiap operasi sehingga Anda dapat mendiagnosis akar penyebab selama operasi keseluruhan. Pilih salah satu contoh teratas yang memiliki durasi terpanjang.

  9. Pilih Jalur panas untuk menyoroti jalur peristiwa tertentu yang paling berkontribusi pada total durasi operasi. Dalam contoh ini, Anda dapat melihat bahwa panggilan paling lambat adalah dari FabrikamFiberAzureStorage.GetStorageTableData metode . Bagian yang membutuhkan waktu paling lama adalah CloudTable.CreateIfNotExist metode . Jika baris kode ini dijalankan setiap kali fungsi dipanggil, panggilan jaringan yang tidak perlu dan sumber daya CPU akan digunakan. Cara terbaik untuk memperbaiki kode Anda adalah dengan menempatkan baris ini dalam beberapa metode startup yang hanya dijalankan sekali.

    Cuplikan layar yang memperlihatkan detail Profiler.

  10. Tips Performa di bagian atas layar mendukung penilaian bahwa durasi yang berlebihan adalah karena menunggu. Pilih tautan tunggu untuk dokumentasi tentang menginterpretasikan berbagai jenis peristiwa.

    Cuplikan layar yang memperlihatkan Tips Performa.

  11. Untuk analisis lebih lanjut, pilih Unduh Jejak untuk mengunduh jejak. Anda dapat melihat data ini dengan menggunakan PerfView.

Gunakan data log untuk server

Log menyediakan bahasa kueri kaya yang dapat Anda gunakan untuk menganalisis semua data yang dikumpulkan oleh Application Insights. Anda dapat menggunakan fitur ini untuk melakukan analisis mendalam pada data permintaan dan performa.

  1. Kembali ke panel detail operasi dan pilih Ikon logLihat di Log (Analitik).

  2. Layar Log terbuka dengan kueri untuk setiap tampilan di panel. Anda dapat menjalankan kueri ini sebagaimana adanya atau memodifikasinya sesuai kebutuhan Anda. Kueri pertama memperlihatkan durasi operasi ini dari waktu ke waktu.

    Cuplikan layar yang memperlihatkan kueri log.

Identifikasi operasi klien yang lambat

Selain mengidentifikasi proses server yang akan dioptimalkan, Application Insights dapat menganalisis perspektif browser klien. Informasi ini dapat membantu Anda mengidentifikasi potensi peningkatan komponen klien dan bahkan mengidentifikasi masalah dengan browser yang berbeda atau lokasi yang berbeda.

  1. Pilih Browser di bawah Selidiki lalu pilih Performa Browser. Atau, pilih Performa di bawah Selidiki dan beralih ke tab Browser dengan memilih tombol alih Server/Browser di sudut kanan atas untuk membuka ringkasan performa browser. Tampilan ini menyediakan ringkasan visual berbagai telemetri aplikasi Anda dari perspektif browser.

    Cuplikan layar yang memperlihatkan ringkasan Browser.

  2. Pilih salah satu nama operasi, pilih tombol Sampel di kanan bawah, lalu pilih operasi. Detail transaksi end-to-end terbuka di sisi kanan tempat Anda bisa melihat Properti Tampilan Halaman. Anda dapat melihat detail klien yang meminta halaman termasuk jenis browser dan lokasinya. Informasi ini dapat membantu Anda dalam menentukan apakah ada masalah performa yang terkait dengan jenis klien tertentu.

    Cuplikan layar yang memperlihatkan Properti Tampilan Halaman.

Gunakan data log untuk klien

Seperti data yang dikumpulkan untuk performa server, Application Insights membuat semua data klien tersedia untuk analisis mendalam dengan menggunakan log.

  1. Kembali ke ringkasan browser dan pilih Ikon logTampilkan di Log (Analitik).

  2. Layar Log terbuka dengan kueri untuk setiap tampilan di panel. Kueri pertama memperlihatkan durasi untuk tampilan halaman yang berbeda dari waktu ke waktu.

    Cuplikan layar yang memperlihatkan layar Log.