Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Ikhtisar
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. Keunggulannya terletak pada kemampuannya untuk mengumpulkan sejumlah besar informasi dari seluruh mesin secara bersamaan, dengan demikian, masalah yang melibatkan multiproses, yang berkaitan dengan perangkat keras atau driver, serta skenario kompleks sangat cocok untuk 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, bawaan, dan moda 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 rekam performa bawaan baris perintah telah diinstal di Windows 10 dan Windows 11 serta wpr.exe tersedia pada variabel jalur default dari shell seperti PowerShell dan Command Prompt.
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.
Nota
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 debugging, baik dibangun bersama 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 disediakan dalam tabel berikut di mana:
- Didukung dengan baik berarti alat ini dirancang untuk tugas yang dimaksudkan dan mencapai hasil yang kuat dan terperinci.
- Didukung berarti alat ini mungkin memerlukan konfigurasi atau langkah tambahan untuk mencapai hasil yang diinginkan. Mungkin berisi cakupan tindakan terbatas dalam kategori.
- Tidak didukung berarti alat ini tidak dirancang untuk penggunaan ini.
Petunjuk / Saran
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 Kinerja Visual Studio | Toolkit Performa Windows | PerfView |
|---|---|---|---|
| Pertimbangan penggunaan umum | |||
| Ukuran Berkas Jejak | Didukung dengan baik | Dukungan | Dukungan |
| Akuisisi Alat | Didukung dengan baik | Didukung dengan baik | Didukung dengan baik |
| Alat Ekstensibilitas | Tidak didukung | Didukung dengan baik | Didukung dengan baik |
| Cakupan pertimbangan kerja | |||
| Proses atau Proyek Tunggal | Didukung dengan baik | Dukungan | Dukungan |
| Beberapa Proses | Tidak didukung | Didukung dengan baik | Didukung dengan baik |
| Pertimbangan perangkat keras | |||
| Penggunaan CPU | Didukung dengan baik | Didukung dengan baik | Didukung dengan baik |
| Penggunaan GPU | Didukung dengan baik | Didukung dengan baik | Tidak didukung |
| Penggunaan Memori | Didukung dengan baik | Didukung dengan baik | Didukung dengan baik |
| Input/Output pada Perangkat | Tidak didukung | Didukung dengan baik | Didukung dengan baik |
| Penggunaan Daya | Tidak didukung | Didukung dengan baik | Tidak didukung |
| Penanganan Sistem | Tidak didukung | Didukung dengan baik | Didukung dengan baik |
| Pertimbangan dukungan bahasa kode | |||
| Dukungan untuk C/C++ | Didukung dengan baik | Didukung dengan baik | Didukung dengan baik |
| Dukungan untuk .NET | Didukung dengan baik | Didukung dengan baik | Didukung dengan baik |
| Dukungan untuk JavaScript | Dukungan | Dukungan | Dukungan |
| Pertimbangan skenario | |||
| Penelusuran Peristiwa untuk Windows | Dukungan | Didukung dengan baik | Didukung dengan baik |
| Komposisi | Tidak didukung | Didukung dengan baik | Tidak didukung |
| HTML/Edge/Internet Explorer/Webview | Tidak didukung | Didukung dengan baik | Tidak didukung |
| XAML/WinUI | Dukungan | Didukung dengan baik | Didukung dengan baik |
| Alur dan gangguan Audio/Video | Tidak didukung | Didukung dengan baik | Tidak didukung |
| Sinkronisasi waktu database | Didukung dengan baik | Tidak didukung | Tidak didukung |
| Alokasi objek terkelola dan pengumpulan sampah | Didukung dengan baik | Tidak didukung | Didukung dengan baik |
| Skenario Khusus | Tidak didukung | Didukung dengan baik | Didukung dengan baik |
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:
- Windows Performance Recorder, tersedia baik sebagai alat baris perintah dan antarmuka grafis, bertugas 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 debugging 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 waktu yang lebih sedikit untuk memulai dan menyelesaikan penelusuran, dengan kemampuan untuk memudahkan peninjauan dan mempercepat penyelesaian 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 titik panas atau area yang memerlukan 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 cocok untuk menyimpan 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 disesuaikan pada skenario analisis performa tingkat lanjut menggunakan poin ekstensibilitas. (Lihat di bawah)
Beberapa manfaat yang ditawarkan PerfView meliputi:
- Dokumentasi yang terintegrasi dan komprehensif serta video tutorial yang dapat diakses melalui internet, ditautkan langsung dari dalam aplikasi.
- Mudah untuk menyebarkan ke lingkungan produksi hanya dengan menyalin PerfView.exe.
- Mode perekam kejadian untuk menangkap masalah yang sulit untuk direproduksi.
- Diagnostik yang sangat rinci untuk layanan runtime .NET.
- Dapat diperluas untuk tampilan kustom.
Pertimbangan cakupan 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 secara efisien dan serupa dengan kemampuan debugging F5 yang sudah disederhanakan. Meskipun hanya berfokus pada satu aplikasi yang sedang dipertimbangkan, mekanisme pengumpulan ini menawarkan waktu penyelesaian yang lebih cepat dan siklus pengembangan yang lebih singkat.
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 keras dan drivernya, atau pengecekan mendalam terhadap 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 awal di bidang 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 mengubah perilaku ini sehingga 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 heap dan stack yang terkait dengan alokasi dalam heap.
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 terkait beban kerja aplikasi web ASP.NET.
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 ditujukan untuk penyelidikan mendalam tentang aplikasi dan runtime .NET tetapi sama mampunya dalam penyelidikan tingkat multiproses 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.
Windows developer