Bagikan melalui


Memilih di antara Visual Studio Performance Profiler, Windows Performance Toolkit, dan PerfView

Panduan ini memberikan perbandingan umum teknologi pembuatan profil performa tujuan umum utama di Microsoft: Visual Studio Performance Profiler, Windows Performance Toolkit, dan PerfView.

Alat-alat ini dapat membantu Anda mendiagnosis dan memahami karakteristik performa aplikasi Anda di Windows. Tujuan dari panduan ini adalah untuk memberikan gambaran umum tentang kapan harus menggunakan satu sama lain, menyoroti masing-masing kekuatan mereka, dan menawarkan gambaran umum singkat tentang fungsionalitas yang dikandungnya.

Gambaran Umum

Visual Studio Performance Profiler dibuat oleh tim Visual Studio untuk memahami karakteristik performa aplikasi dengan cepat dalam pengembangan di dalam sistem proyek Visual Studio yang ada. Kekuatannya terintegrasi erat dengan proyek pengembangan aktif, menyederhanakan analisis skenario performa yang paling umum, dan pengumpulan cepat dan mudah hanya dari satu aplikasi.

Windows Performance Toolkit dibuat oleh tim Windows untuk memahami karakteristik luas sistem dari seluruh PC sekaligus. Meskipun tumbuh dari kebutuhan untuk menganalisis perangkat keras dan driver, itu sangat efektif untuk memahami masalah perangkat lunak juga. Kekuatannya adalah sekitar mengumpulkan sejumlah besar informasi dari seluruh mesin sekaligus, sehingga masalah multi-proses, yang berurusan dengan perangkat keras atau driver, dan skenario kompleks cocok untuk alat-alat ini.

PerfView dibuat oleh tim .NET untuk memahami performa aplikasi .NET. Seperti Toolkit Performa Windows, alat ini dapat mengumpulkan sejumlah besar informasi dari seluruh komputer sekaligus. Ini dibedakan oleh kemampuannya untuk menampilkan informasi yang sangat rinci tentang layanan runtime .NET seperti pengumpulan sampah, kompilasi just-in-time, dan kumpulan utas terkelola. PerfView dapat digunakan untuk aplikasi terkelola, asli, dan mode campuran.

Ada tumpang tindih antara alat-alat ini. Seringkali Anda dapat mulai menjelajahi masalah dalam satu alat dan beralih ke alat lain untuk tampilan yang berbeda dari skenario yang sama. Di lain waktu, salah satu alat akan lebih efektif daripada yang lain.

Penginstalan

Visual Studio Performance Profiler adalah komponen Visual Studio itu sendiri dan dapat diinstal melalui wizard penginstalan yang sama dengan lingkungan pengembangan lainnya.

Toolkit Performa Windows dapat diunduh secara terpisah sebagai bagian dari Kit Penilaian dan Penyebaran Windows. Namun, alat Perekam Performa baris perintah telah diinstal sebelumnya dengan Windows 10 dan Windows 11 sebagaimana wpr.exe tersedia pada variabel jalur default dari shell seperti PowerShell dan Prompt Perintah.

Penganalisis Kinerja tersedia sebagai aplikasi di Microsoft Store.

PerfView tersedia sebagai unduhan mandiri di halaman PerfView GitHub Releases . Penginstalan tidak diperlukan.

Mengkustomisasi untuk skenario analisis performa tingkat lanjut

Toolkit Performa Windows juga menawarkan dua titik ekstensibilitas yang dapat melayani skenario analisis performa tingkat lanjut.

  • Microsoft Performance Toolkit SDK menangani pemrosesan data pelacakan dan memungkinkan pengembang untuk membangun plugin mereka sendiri untuk dilihat di dalam Penganalisis Kinerja Windows.
  • .NET TraceProcessing memungkinkan penulisan alat kustom yang dapat memproses informasi jejak ke dalam tabel yang dihasilkan dan sangat berguna untuk analisis otomatis data pelacakan massal.

PerfView juga didasarkan pada pustaka .NET TraceEvent untuk mengonsumsi jejak performa secara terprogram. TraceEvent dapat digunakan secara independen dari PerfView untuk melakukan analisis kustom data jejak performa.

Catatan

Agar skenario analisis performa berfungsi, Anda akan memerlukan akses ke simbol yang berkorelasi dengan aplikasi Windows yang sedang diuji. Saat membangun dengan Visual Studio, mereka akan terletak sama seperti dalam pengaturan skenario penelusuran kesalahan, baik dibangun dengan solusi Anda atau diambil dari server simbol. Saat menganalisis pustaka atau komponen lain, Anda harus menemukan simbol untuk komponen tersebut untuk menyelesaikan analisis Anda.

Pertimbangan untuk memilih alat

Alat untuk memilih tergantung pada skenario performa yang anda coba jelajahi. Perbandingan fungsionalitas dan sifat di antara alat ada dalam tabel di bawah ini:

Tip

Untuk aturan umum, mulailah dengan Pembuatan Profil Visual Studio jika memungkinkan. Beralih ke Windows Performance Toolkit atau PerfView saat mencapai batas apa yang dapat dilakukan alat Visual Studio.

Situasi Profiler Performa Visual Studio Toolkit Performa Windows PerfView
Pertimbangan penggunaan umum
Lacak Ukuran File ✔️ 🆗 🆗
Akuisisi Alat ✔️ ✔️ ✔️
Kit Ekstensibilitas ✔️ ✔️
Cakupan pertimbangan kerja
Proses atau Proyek Tunggal ✔️ 🆗 🆗
Beberapa Proses ✔️ ✔️
Pertimbangan perangkat keras
Penggunaan CPU ✔️ ✔️ ✔️
Penggunaan GPU ✔️ ✔️
Penggunaan Memori ✔️ ✔️ ✔️
Input/Output Perangkat ✔️ ✔️
Penggunaan Daya ✔️
Handel Sistem ✔️ ✔️
Pertimbangan dukungan bahasa kode
Dukungan untuk C/C++ ✔️ ✔️ ✔️
Dukungan untuk .NET ✔️ ✔️ ✔️
Dukungan untuk JavaScript 🆗 🆗 🆗
Pertimbangan skenario
Penelusuran Peristiwa untuk Windows 🆗 ✔️ ✔️
Komposisi ✔️
HTML/Edge/Internet Explorer/Webview ✔️
XAML/WinUI 🆗 ✔️ ✔️
Alur dan gangguan Audio/Video ✔️
Waktu database ✔️
Alokasi objek terkelola dan pengumpulan sampah ✔️ ✔️
Skenario Kustom ✔️ ✔️

Tombol

  • ✔️ Didukung dengan baik: Dirancang untuk tugas yang dimaksudkan dan mencapai hasil yang kuat dan terperinci.
  • 🆗 Didukung: Mungkin memerlukan konfigurasi atau langkah tambahan untuk mencapai hasil yang diinginkan. Mungkin berisi cakupan tindakan terbatas dalam kategori.
  • ❌ Tidak didukung: Tidak dirancang untuk penggunaan ini.

Pertimbangan penggunaan umum

Bagi mereka yang baru saja memulai analisis performa, kami merekomendasikan Visual Studio Performance Profiler sebagai fitur terintegrasi dengan baik di dalam rangkaian pengembangan Visual Studio yang ada. Sebaiknya gunakan Visual Studio Performance Profiler melalui PerfView jika memenuhi kebutuhan Anda.

Untuk analisis performa sistem yang lebih kompleks yang mungkin memerlukan lebih banyak daya dan fleksibilitas, kami merekomendasikan Toolkit Performa Windows, yang terdiri dari dua alat yang digunakan untuk menyelesaikan tugas analisis performa:

  • Perekam Performa Windows, tersedia baik sebagai alat baris perintah maupun dengan antarmuka grafis, bertanggung jawab untuk menangkap sesi pelacakan.
  • Windows Penganalisis Kinerja dibuka nanti untuk pasca-proses data yang dikumpulkan dan memberikan tampilan analisis yang sangat dapat disesuaikan.

Beberapa manfaat yang ditawarkan Visual Studio Performance Profiler meliputi:

  • Pengenalan yang baik untuk analisis performa di domain utama.
  • Ini menangani banyak kompleksitas analisis dan penelusuran kesalahan secara otomatis berdasarkan konfigurasi proyek.
  • Ini secara otomatis menyoroti bidang utama yang menjadi perhatian.
  • Lebih baik berfokus hanya pada satu aplikasi, dengan himpunan data yang lebih kecil dan lebih fokus dan cakupan pengumpulan yang lebih kecil.
  • Fokus yang lebih spesifik diterjemahkan menjadi lebih sedikit dampak pada aplikasi lain dan perangkat keras mesin saat pembuatan profil terjadi, pengurangan ukuran keseluruhan ke file pelacakan yang dihasilkan dan disimpan, dan peningkatan kecepatan pemrosesan untuk meninjau informasi setelah pengumpulan selesai.
  • Membutuhkan lebih sedikit waktu untuk memulai dan menyelesaikan jejak, dengan kemampuan yang lebih cepat untuk meninjau dan berbalik karena Visual Studio Performance Profiler hanya berkaitan dengan aplikasi dan bukan seluruh sistem.
  • Pengumpulan data dan analisis yang dihasilkan semuanya dilakukan dalam Visual Studio, dengan halaman analisis diluncurkan secara otomatis pada kesimpulan pengumpulan. Tampilan laporan juga secara otomatis cenderung memfokuskan perhatian pada hot spot atau area tindakan.

Beberapa manfaat yang ditawarkan Windows Performance Toolkit meliputi:

  • Dokumentasi dan blog yang cukup disediakan oleh tim Performa dan Diagnostik Windows untuk membantu Anda memulai.
  • Lebih baik mengumpulkan file yang sangat besar, terutama dari sistem yang sibuk dengan tugas latar belakang. Ini adalah alat catch-all untuk mengumpulkan informasi yang kemudian akan difilter nanti di antarmuka Windows Penganalisis Kinerja.
  • Kemampuan untuk disesuaikan untuk skenario analisis performa tingkat lanjut menggunakan titik ekstensibilitas. (Lihat di bawah)

Beberapa manfaat yang ditawarkan PerfView meliputi:

  • Dokumentasi bawaan yang komprehensif dan video petunjuk yang dapat diakses internet yang ditautkan dari dalam aplikasi.
  • Mudah untuk menyebarkan ke lingkungan produksi hanya dengan menyalin PerfView.exe.
  • Mode perekam penerbangan untuk menangkap masalah yang sulit direprodusi.
  • Diagnostik yang sangat rinci untuk layanan runtime .NET.
  • Dapat diperluas untuk tampilan kustom.

Cakupan pertimbangan kerja

Untuk analisis yang mengelilingi satu aplikasi dan terutama satu proses, semua alat sangat mampu untuk mengumpulkan dan memahami performa. Keuntungannya, bagaimanapun, akan berdampingan dengan Visual Studio Performance Profiler, terutama ketika sumber aplikasi dan sistem proyek sudah tersedia. Mesin Profiler Performa Visual Studio dirancang untuk mengumpulkan informasi CPU, GPU, dan memori dari biner dengan cara yang sama yang disederhanakan dengan kemampuan penelusuran kesalahan F5. Meskipun hanya berfokus pada satu aplikasi yang ada, mekanisme koleksi ini menawarkan putaran yang lebih ketat dan perulangan pengembang.

Pilih PerfView jika Visual Studio tidak memiliki kemampuan yang diperlukan, tidak dapat dijalankan karena persyaratan pengumpulan (umum di lingkungan produksi), atau kemampuan diagnostik .NET yang lebih rinci diperlukan.

Untuk situasi dengan kompleksitas yang lebih besar yang mencakup beberapa permintaan lintas proses, perangkat perangkat keras dan drivernya, atau mendalami teknologi platform Windows, Windows Performance Toolkit adalah pilihan optimal.

Pertimbangan perangkat keras

Visual Studio Performance Profiler, Windows Performance Toolkit, dan PerfView dapat mendiagnosis CPU dan memori untuk komponen perangkat keras utama, dengan Visual Studio Performance Profiler dan Windows Performance Toolkit juga mendukung GPU. Alat-alat ini umumnya cocok dengan analisis pengantar di area ini.

Penggunaan CPU dapat dianalisis dengan ketiga alat dan biasanya diambil menggunakan pengambilan sampel. Pengambilan sampel menangkap jejak tumpukan dari aplikasi secara berkala dan memberikan peringkat tentang seberapa sering mereka muncul. Kedua alat dapat menyesuaikan perilaku ini untuk menggunakan instrumentasi untuk akuntansi yang tepat.

Penggunaan GPU dapat dianalisis dengan Profiler Performa Visual Studio dan Toolkit Performa Windows yang menangkap gambaran umum informasi.

Penggunaan memori dapat dianalisis dengan ketiga alat yang mengumpulkan informasi tentang ruang timbunan dan tumpukan yang terkait dengan alokasi dalam timbunan.

Ketika skenario yang lebih kompleks muncul, seperti menganalisis jaringan, disk, perangkat, handel, atau konsumsi daya sistem secara keseluruhan, Windows Performance Toolkit lebih dilengkapi untuk menangani analisis. Data ini paling baik dikumpulkan langsung dari sistem operasi saat mengirimkan permintaan ke berbagai komponen perangkat keras. Windows Performance Toolkit dikembangkan bersama dengan sistem operasi, sehingga siap dan mampu mengumpulkan kategori informasi yang lebih berfokus pada sistem ini.

Pertimbangan dukungan bahasa kode

Windows Performance Toolkit terutama difokuskan pada dukungan untuk C dan C++, karena bahasa ini digunakan dalam basis kode sistem operasi Windows.

Dukungan Visual Studio Performance Profiler difokuskan pada berbagai bahasa pemrograman yang lebih luas, dimulai dengan teknologi asal .NET seperti C# dan ASP.NET kemudian berkembang ke luar.

PerfView mendukung aplikasi .NET dan native (C dan C++). Ini memiliki pengetahuan mendalam tentang runtime .NET, dan kemampuan sekeliling ASP.NET beban kerja web.

Ini bukan untuk mengatakan bahwa Visual Studio tidak dapat menganalisis kode C atau C++, atau bahwa Windows Penganalisis Kinerja tidak dapat menganalisis aplikasi .NET, atau bahwa PerfView tidak dapat menganalisis aplikasi web. Sebaiknya mulai dengan alat yang paling cocok dengan aplikasi yang dianalisis untuk memanfaatkan kekuatan setiap alat.

Pertimbangan skenario

Semua alat berisi beberapa opsi berbasis skenario untuk mempelajari performa aplikasi.

Opsi Visual Studio Performance Profiler cenderung berfokus pada .NET, antarmuka pengguna (UI), dan database yang berada dalam aplikasi yang sedang dianalisis.

Windows Performance Toolkit cenderung berfokus pada komponen sistem operasi dan kerangka kerja seperti komposisi, tampilan browser, dan gangguan dalam alur pemrosesan realtime.

Untuk skenario yang memerlukan solusi yang lebih disesuaikan, Perekam Performa Windows dapat menggabungkan data pengumpulan di seluruh sistem dan pengumpulan terkait aplikasi ke dalam satu sesi perekaman. Fungsionalitas ini memungkinkan pengembang aplikasi untuk menawarkan solusi lengkap untuk disebarkan kepada pelanggan untuk meminta data performa dari perangkat keras yang mungkin berbeda dari yang digunakan untuk mengembangkan produk. Informasi selengkapnya tentang mekanisme ini dapat ditemukan di seri blog Penulisan Profil Kustom oleh tim Performa dan Diagnostik Windows.

PerfView ditargetkan pada penyelidikan mendalam tentang aplikasi dan runtime .NET, tetapi sama mampunya dalam penyelidikan tingkat multi-proses dan sistem operasi.

Ringkasan

Visual Studio Performance Profiler, Windows Performance Toolkit, dan PerfView adalah tiga alat kuat dari Microsoft yang tersedia bagi Anda untuk memahami performa aplikasi Anda. Memilih alat mana yang paling sesuai dengan kebutuhan Anda membutuhkan berbagai pertimbangan mengenai situasi spesifik Anda. Kami berharap bahwa panduan ini akan memberikan informasi yang diperlukan bagi Anda untuk membuat pilihan analisis performa yang bijaksana, tetapi juga menyambut Anda untuk mengajukan umpan balik pada halaman ini di bawah ini, atau untuk masalah yang secara khusus berkaitan dengan performa pengembangan Windows, silakan ajukan masalah pada repositori Performa Dev Windows.