Alat Diagnostik Performa

Oleh Mike Rousos

Artikel ini mencantumkan alat untuk mendiagnosis masalah performa di ASP.NET Core.

Alat Diagnostik Visual Studio

Alat pembuatan profil dan diagnostik yang disertakan dalam Visual Studio adalah tempat yang baik untuk mulai menyelidiki masalah performa. Alat-alat ini kuat dan nyaman digunakan dari lingkungan pengembangan Visual Studio. Alat ini memungkinkan analisis penggunaan CPU, penggunaan memori, dan peristiwa performa di aplikasi ASP.NET Core. Menjadi bawaan membuat pembuatan profil menjadi mudah pada waktu pengembangan.

Informasi selengkapnya tersedia dalam dokumentasi Visual Studio.

Application Insights

Application Insights menyediakan data performa mendalam untuk aplikasi Anda. Application Insights secara otomatis mengumpulkan data tentang tingkat respons, tingkat kegagalan, waktu respons dependensi, dan banyak lagi. Application Insights mendukung pengelogan peristiwa dan metrik kustom khusus untuk aplikasi Anda.

Azure Application Insights menyediakan beberapa cara untuk memberikan wawasan tentang aplikasi yang dipantau:

  • Peta Aplikasi – membantu menemukan penyempitan performa atau kegagalan hot-spot di semua komponen aplikasi terdistribusi.

  • Azure Metrics Explorer adalah komponen microsoft portal Azure yang memungkinkan pembuatan bagan, tren yang berkorelasi secara visual, dan menyelidiki lonjakan dan penurunan nilai metrik.

  • Bilah performa di portal Application Insights:

    • Menampilkan detail performa untuk berbagai operasi di aplikasi yang dipantau.
    • Memungkinkan pengeboran ke dalam satu operasi untuk memeriksa semua bagian/dependensi yang berkontribusi pada durasi panjang.
    • Profiler dapat dipanggil dari sini untuk mengumpulkan jejak performa sesuai permintaan.
  • Azure Application Insights Profiler memungkinkan pembuatan profil aplikasi .NET secara reguler dan sesuai permintaan. portal Azure menunjukkan jejak performa yang diambil dengan tumpukan panggilan dan jalur panas. File pelacakan juga dapat diunduh untuk analisis yang lebih mendalam menggunakan PerfView.

Application Insights dapat digunakan di berbagai lingkungan:

  • Dioptimalkan untuk bekerja di Azure.
  • Bekerja dalam produksi, pengembangan, dan penahapan.
  • Bekerja secara lokal dari Visual Studio atau di lingkungan hosting lainnya.

Untuk informasi selengkapnya tentang pemantauan berbasis kode, lihat Application Insights untuk ASP.NET Core. Untuk informasi selengkapnya tentang pemantauan tanpa kode, lihat Memantau performa Azure App Service.

PerfView

PerfView adalah alat analisis performa yang dibuat oleh tim .NET khusus untuk mendiagnosis masalah performa .NET. PerfView memungkinkan analisis penggunaan CPU, perilaku memori dan GC, peristiwa performa, dan waktu jam dinding.

Untuk informasi selengkapnya tentang PerfView, lihat panduan pengguna yang tersedia di alat atau di GitHub.

Toolkit Performa Windows

Windows Performance Toolkit (WPT) terdiri dari dua komponen: Windows Performance Recorder (WPR) dan Windows Penganalisis Kinerja (WPA). Alat ini menghasilkan profil performa mendalam sistem operasi dan aplikasi Windows. WPT memiliki cara yang lebih kaya untuk memvisualisasikan data, tetapi pengumpulan datanya kurang kuat daripada PerfView.

PerfCollect

Meskipun PerfView adalah alat analisis performa yang berguna untuk skenario .NET, perfView hanya berjalan di Windows, sehingga Anda tidak dapat menggunakannya untuk mengumpulkan jejak dari aplikasi ASP.NET Core yang berjalan di lingkungan Linux.

PerfCollect adalah skrip bash yang menggunakan alat pembuatan profil Linux asli (Perf dan LTTng) untuk mengumpulkan jejak di Linux yang dapat dianalisis oleh PerfView. PerfCollect berguna ketika masalah performa muncul di lingkungan Linux di mana PerfView tidak dapat digunakan secara langsung. Sebagai gantinya, PerfCollect dapat mengumpulkan jejak dari aplikasi .NET Core yang kemudian dianalisis di komputer Windows menggunakan PerfView.

Informasi selengkapnya tentang cara menginstal dan mulai menggunakan PerfCollect tersedia di GitHub.

Alat Performa Pihak Ketiga Lainnya

Berikut ini mencantumkan beberapa alat performa pihak ketiga yang berguna dalam penyelidikan performa aplikasi .NET Core.