Profil oluşturma araçlarına ilk bakış

Visual Studio, uygulama türüne bağlı olarak farklı türlerde performans sorunlarını tanılamanıza yardımcı olacak çeşitli profil araçları sağlar. Bu makalede, en yaygın profil oluşturma araçlarına hızlı bir bakış sunuyoruz.

Farklı uygulama türleri için profil oluşturma araç desteğini görmek için bkz. hangi aracı kullanmalıyım?

Hata ayıklarken performansı ölçme

Hata ayıklama oturumu sırasında erişebileceğiniz profil oluşturma araçları Tanılama Araçları penceresinde kullanılabilir. Tanılama Araçları penceresi devre dışı bırakılmadığı takdirde otomatik olarak görünür. pencereyi getirmek için hata ayıkla/Windows/göster Tanılama Araçları (veya Ctrl + Alt + F2 tuşlarına basın) seçeneğine tıklayın. Pencereyi açık olarak kullanarak veri toplamak istediğiniz araçları seçebilirsiniz.

Tanılama Araçları penceresi

Hata ayıklarken, CPU ve bellek kullanımını çözümlemek için Tanılama araçları penceresini kullanabilir ve performansla ilgili bilgileri gösteren olayları görüntüleyebilirsiniz.

Tanılama Araçları Özet görünümü

Tanılama araçları pencere, uygulamaları profil oluşturmanın yaygın bir yoludur, ancak yayın yapıları için bunun yerine uygulamanızın mordıtem analizini de yapabilirsiniz. Farklı yaklaşımlar hakkında daha fazla bilgi için bkz. hata ayıklayıcı ile veya olmadan profil oluşturma araçlarını çalıştırma. Farklı uygulama türleri için profil oluşturma araç desteğini görmek için bkz. hangi aracı kullanmalıyım?

Tanılama Araçları penceresinde veya hata ayıklama oturumu sırasında bulunan araçlar şunları içerir:

Not

hata ayıklayıcı (Tanılama Araçları penceresi) ile profil oluşturma araçlarını çalıştırmak için Windows 8 ve üzeri gereklidir. Windows 7 ve sonraki sürümleri ile mortem araçları 'nı kullanabilirsiniz.

Yayın yapılarında performansı ölçme

Performans Profiler 'daki Araçlar yayın derlemeleri için analiz sağlamak üzere tasarlanmıştır. Performans Profiler 'da, uygulama çalışırken tanılama bilgilerini toplayabilir ve ardından uygulama durdurulduktan sonra toplanan bilgileri inceleyebilirsiniz (bir post-mordıtem Analizi).

Hata ayıklama > performansı profil oluşturucuyu (veya alt + f2) seçerek performans profil oluşturucuyu açın.

Performans Profili Oluşturucu

Performans Profiler 'da CPU kullanımı veya bellek kullanımı aracını kullanma hakkında daha fazla bilgi için bkz. hata ayıklayıcı ile tümleşik araçlar, bkz. profil oluşturma araçlarını hata ayıklayıcı ile veya olmadan çalıştırma.

Performans Profiler 'da bulunan araçlar şunları içerir:

Farklı uygulama türleri için profil oluşturma araç desteğini görmek için bkz. hangi aracı kullanmalıyım?

Bazı senaryolarda, pencere birden çok profil oluşturma aracıseçmenize olanak sağlar. CPU kullanımı gibi araçlar, analizinizdeki yardım için kullanabileceğiniz tamamlayıcı veriler sağlayabilir. Birden çok profil oluşturma aracı içeren senaryoları etkinleştirmek için komut satırı profil oluşturucuyu de kullanabilirsiniz.

PerfTips kullanarak performansı inceleyin

Genellikle, performans bilgilerini görüntülemenin en kolay yolu PerfTipskullanmaktır. PerfTips kullanarak, kodunuzla etkileşim kurarken performans bilgilerini görüntüleyebilirsiniz. Olayın süresi (hata ayıklayıcının en son ne zaman duraklatıldığı veya uygulama başlatıldığında ölçülür) gibi bilgileri denetleyebilirsiniz. Örneğin, kod (F10, F11) ile adımlayın, PerfTips, önceki adım işleminden geçerli adıma uygulama çalışma zamanı süresini gösterir.

Profil oluşturma turu PerfTips

Bir kod bloğunun yürütülmesi için ne kadar sürdüğünü veya tek bir işlevin tamamlaması için ne kadar sürdüğünü incelemek için PerfTips 'ı kullanabilirsiniz.

PerfTips, Tanılama Araçları Olaylar görünümünde de görüntülenen olayları gösterir. Olaylar görünümünde, hata ayıklama sırasında oluşan farklı olayları (kesme noktası veya kod atlama işlemi gibi) görüntüleyebilirsiniz.

Tanılama Araçları Olaylar görünümü

Not

Visual Studio Enterprise sahipseniz, bu sekmede ıntellitrace olaylarını da görebilirsiniz.

CPU kullanımını analiz etme

CPU kullanımı aracı, uygulamanızın performansını çözümlemeye başlamak için iyi bir yerdir. Uygulamanızın kullandığı CPU kaynakları hakkında daha fazla bilgi sağlayacaktır. Hata ayıklayıcı ile TÜMLEŞIK CPU kullanımı aracını veya mortem CPU kullanımı aracınıkullanabilirsiniz.

hata ayıklayıcı ile tümleşik CPU kullanımı aracını kullanırken, tanılama araç penceresini açın (kapalıysa, hata ayıkla/Windows/Tanılama Araçları göster' i seçin). Hata ayıklama sırasında Özet görünümünü açın ve CPU profilini kaydet' i seçin.

Tanılama Araçları CPU kullanımını etkinleştir

Araç kullanmanın bir yolu kodunuzda iki kesme noktası, bir diğeri de işlevin sonunda veya bir ya da analiz etmek istediğiniz kod bölgesi ayarlamak kullanmaktır. İkinci kesme noktasında durakladığınızda profil oluşturma verilerini inceleyin.

CPU kullanımı görünümü, en uzun çalışan bir işlevle en üstte bulunan işlevlerin bir listesini gösterir. Bu, performans sorunlarının gerçekleştiği işlevlerde size rehberlik etmenize yardımcı olabilir.

Tanılama Araçları CPU kullanımı görünümü

İlgilendiğiniz bir işleve çift tıklayın ve seçilen işlevle pencerenin ortasında, sol taraftaki çağırma işlevine ve sağ tarafta işlev olarak adlandırılan daha ayrıntılı üç bölmeli "kelebek" görünümü görürsünüz. Işlev gövdesi bölümü, işlev gövdesinde harcanan ve çağrılan işlevlerde harcanan süre hariç toplam süreyi (ve zaman yüzdesini) gösterir. Bu veriler, işlevin kendisinin performans sorunu olup olmadığını değerlendirmenize yardımcı olabilir.

Tanılama Araçları arayan "kelebek" görünümü

Bellek kullanımını analiz etme

Tanılama araçları penceresi, bellek kullanımı aracını kullanarak uygulamanızdaki bellek kullanımını değerlendirmenize de olanak tanır. Örneğin, yığındaki nesnelerin sayısına ve boyutuna bakabilirsiniz. Performans Profiler 'daki hata ayıklayıcı ile tümleşik bellek kullanımı aracını veya mortem bellek kullanımı aracını kullanabilirsiniz.

.NET geliştiricileri, .NET nesne ayırma aracı ya da bellek kullanımı aracı arasında seçim gösterebilir.

  • .NET nesne ayırma Aracı, .net kodunuzda ayırma düzenlerini ve anormallikleri belirlemenize yardımcı olur ve çöp toplama ile ilgili yaygın sorunları belirlemenize yardımcı olur. Bu araç yalnızca bir post-mordıtem aracı olarak çalışır. Bu aracı, yerel veya uzak makinelerde çalıştırabilirsiniz.
  • Bellek kullanımı Aracı, genellikle .NET uygulamalarında yaygın olmayan bellek sızıntılarını tanımlamaya yardımcı olur. Bellek denetlenirken hata ayıklayıcı özelliklerini kod üzerinden atlama gibi kullanmanız gerekiyorsa, hata ayıklayıcı ile tümleşik bellek kullanım aracı önerilir.

Bellek kullanımı aracı ile bellek kullanımını çözümlemek için en az bir bellek anlık görüntüsü yapmanız gerekir. Genellikle belleği çözümlemenin en iyi yolu iki anlık görüntü alma yöntemidir; bir şüpheli bellek sorunundan önceki ilk sağ tarafta ve bir şüpheli bellek sorunu oluştuktan sonra ikinci anlık görüntü. Daha sonra, iki anlık görüntüye ilişkin bir farkı görüntüleyebilir ve tam olarak nelerin değiştiğini görebilirsiniz. Aşağıdaki çizimde, hata ayıklayıcı ile tümleşik aracı ile anlık görüntü alma gösterilmektedir.

Tanılama Araçları anlık görüntü alın

Ok bağlantılarından birini seçtiğinizde, yığının fark görünümü verilir (kırmızı yukarı ok bellek kullanımı artışı , artan nesne sayısını (solda) veya artan yığın boyutunu (sağ) gösterir). Doğru bağlantıya tıklarsanız, yığın boyutunu en çok arttığı nesnelere göre sıralanmış bir fark yığın görünümü alırsınız. Bu, bellek sorunlarını belirlemenize yardımcı olabilir. Örneğin, aşağıdaki çizimde, nesneler tarafından kullanılan baytlar ClassHandlersStore ikinci anlık görüntüde 3.492 bayt artar.

Tanılama Araçları yığın farkı görünümü

Bellek kullanımı görünümünde, sol taraftaki bağlantıya tıklarsanız, yığın görünümü nesne sayısına göre düzenlenir; belirli bir türün en fazla sayıyı arttığı nesneler en üstte gösterilir ( Count diff sütununa göre sıralanır).

Kaynak tüketimini analiz etme (XAML)

Windows masaüstü WPF uygulamaları ve UWP uygulamaları gibi XAML uygulamalarında, Uygulama Zaman Çizelgesi aracını kullanarak kaynak tüketimini çözümleyebilirsiniz. Örneğin, uygulamanızın kullanıcı arabirimi çerçevelerini (düzen ve işleme) hazırlama, ağ ve disk isteklerine hizmet verme ve uygulama başlatma, sayfa yükleme ve pencere yeniden boyutlandırma gibi senaryolarda harcanan süreyi çözümleyebilirsiniz. Aracı kullanmak için, performans profil oluşturucusu 'nda uygulama zaman çizelgesi ' yi seçin ve ardından Başlat' ı seçin. Uygulamanızda, şüpheli kaynak tüketimi sorunu olan senaryoya gidin ve raporu oluşturmak için koleksiyonu durdur ' u seçin.

Görsel işleme grafiğindeki düşük framerates, uygulamanızı çalıştırırken gördüğünüz görsel sorunlara karşılık gelebilir. Benzer şekilde, UI iş parçacığı kullanım grafiğinde yüksek SAYıLAR da UI yanıtlama hızı sorunlarına karşılık gelebilir. Raporda, şüpheli performans sorunuyla bir zaman aralığı seçebilir ve ardından zaman çizelgesi ayrıntıları görünümündeki (alt bölme) ayrıntılı UI iş parçacığı etkinliklerini inceleyebilirsiniz.

Uygulama Zaman Çizelgesi profil oluşturma aracı

Zaman çizelgesi ayrıntıları görünümünde etkinlik (veya dahil edilen kullanıcı arabirimi öğesi) gibi bilgileri etkinliğin süresiyle birlikte bulabilirsiniz. Örneğin, çizimde kılavuz denetimine yönelik bir Düzen olayı 57,53 MS alır.

Daha fazla bilgi için bkz. uygulama zaman çizelgesi.

Uygulama olaylarını inceleme

Genel olay görüntüleyicisi, uygulamanın etkinliklerini modül yükü, iş parçacığı başlatma ve sistem yapılandırmaları gibi olayların bir listesi aracılığıyla görüntülemenize olanak sağlar. Böylece, uygulamanın tam olarak profil Visual Studio tanılar. Bu araç, Performans Profili Oluşturucu. Hata ayıkla Performans Profili Oluşturucu (veya > Alt + F2)Performans Profili Oluşturucu seçerek dosyayı açın.

Araç, her olayı bir liste görünümünde gösterir. Sütunlar olay adı, zaman damgası ve işlem kimliği gibi her olay hakkında bilgi sağlar.

Olay Görüntüleyicisi İzleme

Zaman uyumsuz kodu analiz etme (.NET)

.NET Async aracı, uygulamanıza zaman uyumsuz kodun performansını analiz etmenize olanak sağlar. Bu araç, Performans Profili Oluşturucu. Hata ayıkla Performans Profili Oluşturucu (veya > Alt + F2)Performans Profili Oluşturucu seçerek dosyayı açın.

Araç, bir liste görünümünde her zaman uyumsuz işlemi gösterir. Zaman uyumsuz bir işlem için başlangıç saati, bitiş saati ve toplam süre gibi bilgileri görebilir.

.NET Async Araç Durduruldu

Veritabanı performansını analiz etme (.NET Core)

Veritabanı aracı, ADO.NET veya Entity Framework Core kullanan .NET Core uygulamaları için, tanılama oturumu sırasında uygulamanıza yapılan veritabanı sorgularını kaydetmenize olanak sağlar. Daha sonra, tek tek sorgularla ilgili bilgileri analiz edip uygulama performansınızı geliştirebilirsiniz. Bu araç, Performans Profili Oluşturucu. Hata ayıkla Performans Profili Oluşturucu (veya > Alt + F2)Performans Profili Oluşturucu seçerek dosyayı açın.

Araç, her sorguyu bir liste görünümünde gösterir. Sorgu başlangıç zamanı ve süresi gibi bilgileri görebilir.

Ayırma

.NET sayaçlarını görselleştirme (.NET Core)

2019 Visual Studio 16.7 sürümünden başlayarak, performans sayaçlarını görselleştirmek için Visual Studio 'de .NET Sayaçları aracını kullanabilirsiniz. dotnet sayaçları kullanılarak oluşturulan sayaçları görselleştirin. dotnet sayaçları CPU kullanımı ve atık toplayıcı yığın boyutu gibi birçok sayacı destekler.

Araç, bir liste görünümünde her sayacın canlı değerlerini gösterir.

.NET Sayaç aracı toplama.

UI performans ve erişilebilirlik olaylarını inceleme (UWP)

UWP uygulamalarınız için kullanıcı arabirimi analizini Tanılama Araçları. Araç, yaygın performans veya erişilebilirlik sorunlarını arar ve hata ayıklarken bunları Olaylar görünümünde görüntüler. Olay açıklamaları sorunları çözmenize yardımcı olacak bilgiler sağlar.

Tanılama araçlarında kullanıcı arabirimi analizi olaylarını görüntüleme

GPU Kullanımını Analiz Etme (Direct3D)

Direct3D uygulamaları içinde (Direct3D bileşenleri C++ içinde olmalı), GPU'daki etkinliği inceler ve performans sorunlarını analiz edersiniz. Daha fazla bilgi için bkz. GPU Kullanımı. Aracı kullanmak için, grafikte GPU Kullanımı'nı Performans Profili Oluşturucu başlat'ı seçin. Uygulamanıza profil oluşturmak istediğiniz senaryoyu takip edin ve ardından Koleksiyonu durdur'a seçerek bir rapor oluşturabilirsiniz.

Grafiklerde bir zaman dönemi ve görünüm ayrıntılarını seçtiğiniz zaman alt bölmede ayrıntılı bir görünüm görünür. Ayrıntılı görünümde, her CPU ve GPU üzerinde ne kadar etkinlik olduğunu incelersiniz. Zaman çizelgesinde açılan pencereleri almak için en düşük bölmede olayları seçin. Örneğin, Çağrı açılır pencerelerini sun'ı görüntülemek için Olayı sun'ı seçin. (Açık gri dikey VSync satırları, belirli Mevcut çağrıların VSync'i kaçırıp kaçırmamalarını anlamak için başvuru olarak kullanılabilir. Uygulamanın kararlı bir şekilde 60 KARE/sn'ye isabet etmek için her iki VSync arasında bir Mevcut çağrısı olmalıdır.)

GPU Kullanımı profil oluşturma aracı

Grafikleri ayrıca CPU'ya bağlı veya GPU'ya bağlı performans sorunları olup olmadığını belirlemek için de kullanabilirsiniz.

Performansı analiz etme (JavaScript UWP)

UWP uygulamaları için JavaScript Bellek aracını ve HTML KULLANıCı Arabirimi Yanıt Hızı aracını kullanabilirsiniz.

JavaScript Bellek aracı, diğer uygulama türleri için kullanılabilen Bellek Kullanımı aracına benzer. Uygulamanıza bellek kullanımını anlamak ve bellek sızıntılarını bulmak için bu aracı kullanabilirsiniz. Araç hakkında daha fazla ayrıntı için bkz. JavaScript Belleği.

JavaScript Bellek profili oluşturma aracı

UWP uygulamalarında kullanıcı arabirimi yanıt hızını, yavaş yükleme süresi ve yavaş görsel güncelleştirmelerini tanılamak için HTML UI Yanıt Hızı aracını kullanın. Kullanım, diğer uygulama Uygulama Zaman Çizelgesi aracına benzer. Daha fazla bilgi için bkz. HTML kullanıcı arabirimi yanıt hızı.

HTML Kullanıcı Arabirimi Yanıt Hızı profil oluşturma aracı

Ağ kullanımını analiz etme (UWP)

UWP uygulamaları içinde, API kullanılarak gerçekleştirilen ağ işlemlerini analiz Windows.Web.Http edersiniz. Bu araç, erişim ve kimlik doğrulama sorunları, yanlış önbellek kullanımı, düşük görüntü ve indirme performansı gibi sorunları çözmenize yardımcı olabilir. Aracı kullanmak için, ağ iletişim Performans Profili Oluşturucu'ı seçin ve ardından Başlat'ı seçin. Uygulamanıza, kullanan senaryoyu gidin ve ardından Windows.Web.Http Raporu oluşturmak için Koleksiyonu durdur'a seçin.

Ağ Kullanımı profil oluşturma aracı

Daha fazla ayrıntı görüntülemek için özet görünümünde bir işlem seçin.

Ağ Kullanımı aracında ayrıntılı bilgiler

Daha fazla bilgi için bkz. Ağ Kullanımı.

Performansı analiz etme (eski araçlar)

Şu anda CPU Kullanımı veya Bellek Kullanımı araçlarında mevcut olan ölçüm araçları gibi özelliklere ihtiyacınız varsa ve masaüstü veya ASP.NET uygulamaları kullanıyorsanız, profil oluşturmak için Performans Gezgini kullanabilirsiniz. (UWP uygulamaları için desteklenmiyor). Daha fazla bilgi için bkz. Performans Gezgini.

Visual Studio 2019'da, eski Performans Gezgini ve Performans Sihirbazı gibi ilgili profil oluşturma araçları Performans Profili Oluşturucu'ye katlandı. Bu araçta Hata Ayıklama kullanarak > açabilirsiniz Performans Profili Oluşturucu. Bu Performans Profili Oluşturucu, kullanılabilir tanılama araçları seçilen hedefe ve geçerli, açık başlangıç projesine bağlıdır. CPU Kullanımı aracı, daha önce Performans Sihirbazı'nda desteklenen örnekleme özelliğini sağlar. Ölçüm aracı, Performans Sihirbazı'nda yer alan ölçümli profil oluşturma özelliğini (kesin çağrı sayıları ve süreler için) sağlar. Ek bellek araçları da Performans Profili Oluşturucu.

Performans Gezgini aracı

Hangi aracı kullan gerekir?

Aşağıdaki tabloda, tekliflerde kullanabileceğiniz Visual Studio araçları ve bunları kullanabileceğiniz farklı proje türleri listele...

Performans Aracı Windows masaüstü UWP ASP.NET/ASP.NET Core
PerfTips evet evet evet
CPU Kullanımı evet evet evet
Bellek Kullanımı evet evet evet
.NET Nesne Ayırma evet (yalnızca.NET) evet evet
GPU Kullanımı evet evet hayır
Uygulama Zaman Çizelgesi Evet (XAML) evet hayır
Olay Görüntüleyicisi evet evet evet
.NET Async Evet (yalnızca .NET) evet evet
.NET Sayaçları Evet (yalnızca .NET Core) hayır evet (yalnızca ASP.NET Core)
Veritabanı Evet (yalnızca .NET Core) hayır evet (yalnızca ASP.NET Core)
Performans Gezgini hayır hayır hayır
IntelliTrace yalnızca Visual Studio Enterprise .net yalnızca Visual Studio Enterprise .net yalnızca Visual Studio Enterprise .net
Performans aracı Windows masaüstü UWP ASP.NET/ASP.NET Core
CPU kullanımı evet evet evet
Bellek kullanımı evet evet evet
GPU Kullanımı evet evet hayır
Uygulama Zaman Çizelgesi Evet (XAML) evet hayır
PerfTips evet XAML için Evet, HTML için Hayır evet
Performans Gezgini evet hayır evet
IntelliTrace yalnızca Visual Studio Enterprise .net yalnızca Visual Studio Enterprise .net yalnızca Visual Studio Enterprise .net
Ağ Kullanımı hayır evet hayır
HTML kullanıcı arabirimi yanıt hızı hayır HTML için Evet, XAML için Hayır hayır
JavaScript Belleği hayır HTML için Evet, XAML için Hayır hayır

Ayrıca bkz.