Profil oluşturma araçlarına ilk bakış (C#, Visual Basic, C++, F#)

Uygulama performansı ölçüm araçları, kodlarını iyileştirmek ve uygulama performansını geliştirmek isteyen geliştiriciler için önemlidir. Visual Studio, bellek ve CPU kullanımını ve diğer uygulama düzeyindeki sorunları tanılamanıza yardımcı olabilecek çeşitli profil oluşturma ve tanılama araçları sunar. Bu araçları kullanarak, uygulamanızı çalıştırırken performans verileri toplayabilirsiniz. Profil oluşturucu, uygulamanız için yürütme sürelerinin ve CPU kullanımının görsel bir gösterimini sağlayarak hızlı bir şekilde bilinçli kararlar almanıza yardımcı olabilir. Bu makalede en yaygın profil oluşturma araçlarına hızlıca göz atacağız.

Doğru aracı seçme konusunda yardım almak veya farklı uygulama türleri için profil oluşturma aracı desteğini görmek için bkz . Hangi aracı kullanmalıyım?. Profil oluşturma araçlarını kullanarak kodu iyileştirmeye yönelik genel bir yaklaşım gösteren bir öğretici için bkz . Kodu iyileştirmeye yönelik başlangıç kılavuzu.

Yayın derlemelerinde performansı ölçme

Performans Profili Oluşturucu'daki araçlar, Yayın derlemeleri için analiz sağlamak üzere tasarlanmıştır. Performans Profili Oluşturucu'da, uygulama çalışırken tanılama bilgilerini toplayabilir ve uygulama durdurulduktan sonra toplanan bilgileri inceleyebilirsiniz (bir son durum analizi).

Performans Profili Oluşturucu'da Hata Ayıkla>(veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın.

Performans Profili Oluşturucu'nun ekran görüntüsü.

Performans Profili Oluşturucu'nun ekran görüntüsü.

Performans Profili Oluşturucusu'nda CPU Kullanımı veya Bellek kullanımı aracının yanı sıra hata ayıklayıcıyla tümleşik araçlar hakkında daha fazla bilgi için bkz . Hata ayıklayıcı ile veya hata ayıklayıcı olmadan profil oluşturma araçlarını çalıştırma.

Performans Profili Oluşturucu'da bulunan araçlar şunlardır:

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

Bazı senaryolarda, pencere birden çok profil oluşturma aracı seçmenize olanak tanır. CPU Kullanımı gibi araçlar, çözümlemenize yardımcı olmak 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şturucusunu da kullanabilirsiniz.

Hata ayıklama sırasında performansı ölçme

Hata ayıklama oturumu sırasında erişebileceğiniz profil oluşturma araçları Tanılama Araçları penceresinde bulunur. Tanılama Araçları penceresi, siz kapatmadığınız sürece otomatik olarak görüntülenir. Pencereyi açmak için Hata Ayıkla / Windows / Tanılama Araçlarını Göster'e tıklayın (veya Ctrl + Alt + F2 tuşlarına basın). Pencere açıkken, veri toplamak istediğiniz araçları seçebilirsiniz.

Tanılama Araçları penceresi

Hata ayıklarken TANıLAMA Araçları penceresini kullanarak CPU, bellek kullanımı, .NET sayaçlarını analiz edebilir ve performansla ilgili bilgileri gösteren olayları görüntüleyebilirsiniz.

Tanılama Araçları penceresi

Hata ayıklarken TANıLAMA Araçları penceresini kullanarak CPU ve bellek kullanımını analiz edebilir ve performansla ilgili bilgileri gösteren olayları görüntüleyebilirsiniz.

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

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

Tanılama Araçları penceresi, uygulamaların profilini oluşturmanın yaygın bir yoludur, ancak Yayın derlemeleri için bunun yerine uygulamanızın son durum analizini de yapabilirsiniz. Farklı yaklaşımlar hakkında daha fazla bilgi için bkz . Hata ayıklayıcı ile veya hata ayıklayıcı olmadan profil oluşturma araçlarını çalıştırma. Farklı uygulama türleri için profil oluşturma aracı 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 kullanılabilen araçlar şunlardır:

İpucu

Başlatma sayfasını atlamak için yeniden başlatmayı kullanın ve Alt+F2 tuşlarına basarak veya Performans Profili Oluşturucu hatalarını ayıkla'ya > tıklayarak önceki ayarlarınızla otomatik olarak çalıştırın.

Not

Hata ayıklayıcı ile profil oluşturma araçlarını çalıştırmak için Windows 8 ve üzeri gereklidir (Tanılama Araçları penceresi).

CPU kullanımını analiz etme

CPU Kullanımı aracı, uygulamanızın performansını analiz etmeye başlamak için iyi bir yerdir. Uygulamanızın tüketilen CPU kaynakları hakkında daha fazla bilgi sağlar. Hata ayıklayıcıyla tümleşik CPU Kullanımı aracını veya son kullanılan CPU Kullanımı aracını kullanabilirsiniz.

Hata ayıklayıcıyla tümleşik CPU Kullanımı aracını kullanırken Tanılama Aracı penceresini açın (kapalıysa Hata Ayıklama / Windows / Tanılama Araçlarını Göster'i seçin). Hata ayıklarken Özet görünümünü açın ve CPU Profilini Kaydet'i seçin.

Tanılama Araçları'nda CPU kullanımını etkinleştirme

Tanılama Araçları'nda CPU kullanımını etkinleştirme

Aracı kullanmanın bir yolu, kodunuzda biri işlevin başında, diğeri de işlevin sonunda veya analiz etmek istediğiniz kodun bölgesinde olmak üzere iki kesme noktası ayarlamaktır. İkinci kesme noktasında duraklatıldığında profil oluşturma verilerini inceleyin.

CPU Kullanımı görünümü, en uzun süre çalışan işlev En Uzun İşlevler altında en üstte olacak şekilde sıralanmış işlevlerin listesini gösterir. Sık Erişimli Yol bölümünde en çok CPU kullanan işlevlerin çağrı yığını gösterilir. Bu listeler performans sorunlarının yaşandığı işlevlerde size yol gösterebilir.

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

CPU Kullanımı görünümü, en uzun süre çalışan işlev en üstte olacak şekilde en uzun süre çalışana göre sıralanmış işlevlerin listesini gösterir. Bu, performans sorunlarının yaşandığı işlevlerde size yol gösterebilir.

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

İlgilendiğiniz bir işleve tıkladığınızda, seçili işlevin vurgulandığı daha ayrıntılı bir Çağrı ağacı görünümü görürsünüz. Tabloda işlevler (Toplam CPU) olarak adlandırılanlar dahil olmak üzere işlevde harcanan süre gibi verileri içeren sütunlar ve işlevler (Self CPU) hariç bir işlevde harcanan zamanı gösteren ikinci bir sütun gösterilir. Bu veriler, işlevin kendisinin performans sorunu olup olmadığını değerlendirmenize yardımcı olabilir.

İpucu

Visual Studio profil oluşturucu, izlemeleri toplamayı ve görüntülemeyi destekler. Profil oluşturucu daha önce dotnet-trace gibi diğer araçlar tarafından toplanan izlemeleri de görüntüleyebilir. Dotnet-trace, izlemeli izleme değil örnekleme sonuçları üretir. Daha fazla bilgi için bkz . dotnet-trace.

Tanılama Araçları arayan arayan

İlgilendiğiniz bir işleve tıkladığınızda, pencerenin ortasında seçili işlev, solda çağırma işlevi ve sağda çağrılan işlevler ile daha ayrıntılı bir üç bölmeli "kelebek" görünümü görürsünüz. İşlev Gövdesi bölümü, işlev gövdesinde harcanan toplam süreyi (ve zaman yüzdesini) işlev çağırmada harcanan ve çağrılan işlevler dışında gösterir. Bu veriler, işlevin kendisinin performans sorunu olup olmadığını değerlendirmenize yardımcı olabilir.

Tanılama Araçları arayan arayan

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 Profili Oluşturucu'da hata ayıklayıcıyla tümleşik Bellek Kullanımı aracını veya son bellek kullanımı aracını kullanabilirsiniz.

.NET geliştiricileri .NET Nesne Ayırma aracı veya Bellek kullanım aracı arasında seçim yapabilir.

  • .NET Nesne Ayırma aracı, .NET kodunuzdaki ayırma desenlerini ve anomalilerini belirlemenize yardımcı olur ve çöp toplamayla ilgili yaygın sorunları belirlemenize yardımcı olur. Bu araç yalnızca bir son durum sonrası 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ı belirlemede yararlıdır. Kodda adımlama gibi belleği denetlerken hata ayıklayıcı özelliklerini kullanmanız gerekiyorsa hata ayıklayıcıyla tümleşik Bellek kullanım aracı önerilir.

Bellek Kullanımı aracıyla bellek kullanımını analiz etmek için en az bir bellek anlık görüntüsü almanız gerekir. Genellikle, belleği analiz etmenin en iyi yolu iki anlık görüntü almaktır; şüpheli bellek sorunundan önceki ilk sağ ve şüpheli bir bellek sorunu oluştuktan hemen sonra ikinci anlık görüntü. Ardından iki anlık görüntünün farkını görüntüleyebilir ve tam olarak nelerin değiştiğini görebilirsiniz. Aşağıdaki çizimde hata ayıklayıcıyla tümleşik araçla anlık görüntü alma gösterilmektedir.

Tanılama Araçları'nda anlık görüntü alma

Tanılama Araçları'nda anlık görüntü alma

Ok bağlantılarından birini seçtiğinizde, yığının diferansiyel bir görünümü verilir (artan nesne sayısını (sol) veya artan yığın boyutunu (sağ) gösteren kırmızı yukarı ok Bellek Kullanımı Artışı ). Sağ bağlantıya tıklarsanız, yığın boyutu en fazla artan nesnelere göre sıralanmış bir değişiklik yığını görünümü elde edersiniz. Bu, bellek sorunlarını saptamanıza yardımcı olabilir. Örneğin, aşağıdaki çizimde, nesneler tarafından ClassHandlersStore kullanılan bayt sayısı ikinci anlık görüntüde 3.492 bayt artmış.

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

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

Bellek Kullanımı görünümünde bunun yerine soldaki 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 sayı olarak en çok artan nesneleri en üstte gösterilir (Count Diff sütununa göre sıralanır).

İzleme

İzleme aracı CPU Kullanımı aracına benzer, ancak CPU kullanımı yerine tam çağrı sayıları ve duvar saati süresi sağlar. İzleme yöntemi, CPU Kullanımı aracından daha fazla ek yük gerektirir. Bu araç Performans Profili Oluşturucu'da kullanılabilir. Performans Profili Oluşturucu'da Hata Ayıkla>(veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın. Daha fazla bilgi için bkz . İzleme.

.NET İzleme verilerini gösteren ekran görüntüsü.

Dosya G/Ç'sini İncele

Dosya G/Ç aracı, uygulamalarınızdaki performansı geliştirmek için Dosya G/Ç işlemlerinizi nasıl iyileştirebileceğinizi anlamanıza yardımcı olur. Yavaş yükleme sürelerini araştırmaya ve tanılamaya çalışıyorsanız, yeni Dosya GÇ aracı G/Ç işlemlerinin harcanan zamanınızı nasıl etkilediğini anlamanıza yardımcı olabilir. Bu araç Performans Profili Oluşturucu'da kullanılabilir. Performans Profili Oluşturucu'da Hata Ayıkla > (veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın.

Araç, sekmeli liste görünümünde dosya okuma ve dosya yazma işlemlerini gösterir.

Dosya GÇ aracının durdurulduğunu gösteren ekran görüntüsü.

Performans kullanarak performansı inceleme İpuçları

Performans bilgilerini görüntülemenin en kolay yolu genellikle Performans İpuçları kullanmaktır. Performans İpuçları kullanarak kodunuzla etkileşim kurarken performans bilgilerini görüntüleyebilirsiniz. Olayın süresi (hata ayıklayıcının en son duraklatıldığı veya uygulamanın ne zaman başlatıldığı) gibi bilgileri de kontrol edebilirsiniz. Örneğin, kodda adım adım ilerlerseniz (F10, F11), Performans İpuçları önceki adım işleminden geçerli adıma kadar olan uygulama çalışma zamanı süresini gösterir.

Performans İpuçları ekran görüntüsü.

Performans İpuçları ekran görüntüsü.

Bir kod bloğunun yürütülmesinin ne kadar sürdüğünü veya tek bir işlevin tamamlanmasının ne kadar sürdüğünü incelemek için Perf İpuçları kullanabilirsiniz.

Performans İpuçları Tanılama Araçları'nın Olaylar görünümünde de görünen olayları gösterir. Olaylar görünümünde, hata ayıklarken oluşan kesme noktası ayarı veya kod adımlama işlemi gibi farklı olayları görüntüleyebilirsiniz.

Tanılama Araçları Olayları görünümünün ekran görüntüsü.

Tanılama Araçları Olayları görünümünün ekran görüntüsü.

Not

Visual Studio Enterprise'larınız varsa, bu sekmede IntelliTrace olaylarını da görebilirsiniz.

Zaman uyumsuz kodu analiz etme (.NET)

.NET Async aracı, uygulamanızdaki zaman uyumsuz kodun performansını analiz etmenizi sağlar. Bu araç Performans Profili Oluşturucu'da kullanılabilir. Performans Profili Oluşturucu'da Hata Ayıkla>(veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın.

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

.NET Zaman Uyumsuz Aracı Durduruldu

Zaman uyumsuz kodu analiz etme (.NET)

.NET Async aracı, uygulamanızdaki zaman uyumsuz kodun performansını analiz etmenizi sağlar. Bu araç Performans Profili Oluşturucu'da kullanılabilir. Performans Profili Oluşturucu'da Hata Ayıkla>(veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın.

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

.NET Zaman Uyumsuz Aracı Durduruldu

Uygulama olaylarını inceleme

Genel olay görüntüleyicisi , uygulamanızın Visual Studio profil oluşturucusunun içinde nasıl çalıştığını daha iyi tanılamaya yardımcı olmak için modül yükü, iş parçacığı başlatma ve sistem yapılandırmaları gibi olayların listesi aracılığıyla uygulamanızın etkinliğini görüntülemenizi sağlar. Bu araç Performans Profili Oluşturucu'da kullanılabilir. Performans Profili Oluşturucu'da Hata Ayıkla>(veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın.

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

Olay Görüntüleyicisi İzleme

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

ADO.NET veya Entity Framework Core kullanan .NET Core uygulamaları için Veritabanı aracı, uygulamanızın tanılama oturumu sırasında yaptığı veritabanı sorgularını kaydetmenize olanak tanır. Ardından, uygulamanızın performansının geliştirilebileceği yerleri bulmak için tek tek sorgularla ilgili bilgileri analiz edebilirsiniz. Bu araç Performans Profili Oluşturucu'da kullanılabilir. Performans Profili Oluşturucu'da Hata Ayıkla>(veya Alt + F2) seçeneğini belirleyerek Performans Profili Oluşturucu'yu açın.

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

Ayırma

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

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

Araç, liste görünümündeki her sayaç için canlı değerleri gösterir.

.NET Sayaç aracı toplama.

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 analiz edebilirsiniz. Örneğin, uygulamanızın ui çerçeveleri (düzen ve işleme), ağ ve disk isteklerine hizmet verme ve uygulama başlatma, sayfa yükleme ve Pencere yeniden boyutlandırma gibi senaryolarda harcadığı zamanı analiz edebilirsiniz. Aracı kullanmak için Performans Profili Oluşturucu'da Uygulama Zaman Çizelgesi'ni ve ardından Başlat'ı seçin. Uygulamanızda, kaynak tüketiminden şüphelenilen bir sorunla ilgili senaryoyu gözden geçirin ve ardından raporu oluşturmak için Koleksiyonu durdur'u seçin.

Görsel aktarım hızı grafiğindeki düşük kare hızları, 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ğindeki yüksek sayılar da kullanıcı arabirimi yanıt verme sorunlarına karşılık gelebilir. Raporda, performans sorunu olduğundan şüphelenilen bir zaman aralığı seçebilir ve ardından Zaman Çizelgesi ayrıntıları görünümünde (alt bölme) ayrıntılı ui iş parçacığı etkinliklerini inceleyebilirsiniz.

Uygulama Zaman Çizelgesi profil oluşturma aracı

Uygulama Zaman Çizelgesi profil oluşturma aracı

Zaman çizelgesi ayrıntıları görünümünde etkinliğin türü (veya dahil olan kullanıcı arabirimi öğesi) gibi bilgileri ve etkinliğin süresini bulabilirsiniz. Örneğin, çizimde Kılavuz denetimi için düzen olayı 57,53 ms sürer.

Daha fazla bilgi için bkz . Uygulama Zaman Çizelgesi.

Kullanıcı arabirimi performansını ve erişilebilirlik olaylarını (UWP) inceleme

UWP uygulamalarınızda Tanılama Araçları penceresinde kullanıcı arabirimi analizinietkinleştirebilirsiniz. Araç, sık karşılaşılan performans veya erişilebilirlik sorunlarını arar ve bunları hata ayıklarken Olaylar görünümünde görüntüler. Olay açıklamaları, sorunları çözmeye yardımcı olabilecek bilgiler sağlar.

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

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

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

Direct3D uygulamalarında (Direct3D bileşenleri C++'da olmalıdır), GPU'daki etkinliği inceleyebilir ve performans sorunlarını analiz edebilirsiniz. Daha fazla bilgi için bkz . GPU Kullanımı. Aracı kullanmak için Performans Profili Oluşturucu'da GPU Kullanımı'nı ve ardından Başlat'ı seçin. Uygulamanızda, profil oluşturmayla ilgilendiğiniz senaryoyu gözden geçirin ve ardından raporu oluşturmak için Koleksiyonu durdur'u seçin.

Grafiklerde bir zaman aralığı seçip ayrıntıları görüntüle'yi seçtiğinizde, alt bölmede ayrıntılı bir görünüm görüntülenir. Ayrıntılı görünümde, her CPU ve GPU'da ne kadar etkinlik olduğunu inceleyebilirsiniz. Zaman çizelgesinde açılan pencereleri almak için en düşük bölmedeki olayları seçin. Örneğin, Sun olayını seçerek Arama sun açılır pencerelerini görüntüleyin. (Açık gri dikey VSync çizgileri, belirli birVSync çağrıları yanıtsız. Uygulamanın sürekli olarak 60 FPS'ye çarpması için her iki VSync arasında bir Present çağrısı olmalıdır.)

GPU Kullanımı profil oluşturma aracı

GPU Kullanımı profil oluşturma aracı

Cpu bağlı mı yoksa GPU'ya bağlı performans sorunları mı olduğunu belirlemek için grafikleri de kullanabilirsiniz.

Performansı analiz etme (eski araçlar)

Visual Studio 2019'da, eski Performans Gezgini ve Performans Sihirbazı gibi ilgili profil oluşturma araçları Performans Profili Oluşturucu'ya katlandı. Bu araçları Hata Ayıklama>Performans Profili Oluşturucu'yu kullanarak açabilirsiniz. Performans Profili Oluşturucu'da, 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. İzleme aracı, Performans Sihirbazı'nda bulunan izlemeli profil oluşturma özelliğini (kesin çağrı sayıları ve süreleri için) sağlar. Performans Profili Oluşturucu'da ek bellek araçları da görüntülenir.

Performans Gezgini aracı