Performans Tanılama Araçları
Yayınlayan Mike Rousos
Bu makalede, ASP.NET Core'da performans sorunlarını tanılamaya yönelik araçlar listelenir.
Visual Studio Tanılama Araçları
Visual Studio'da yerleşik olarak bulunan profil oluşturma ve tanılama araçları , performans sorunlarını araştırmaya başlamak için iyi bir yerdir. Bu araçlar, Visual Studio geliştirme ortamından kullanımı güçlü ve kullanışlıdır. Araçlar, ASP.NET Core uygulamalarında CPU kullanımı, bellek kullanımı ve performans olaylarının analiz edilmesini sağlar. Yerleşik olmak, geliştirme zamanında profil oluşturmayı kolaylaştırır.
Visual Studio belgelerinde daha fazla bilgi bulabilirsiniz.
Application Insights
Uygulama Analizler, uygulamanız için ayrıntılı performans verileri sağlar. Uygulama Analizler yanıt hızları, hata oranları, bağımlılık yanıt süreleri ve daha fazlası ile ilgili verileri otomatik olarak toplar. Uygulama Analizler, özel olayların ve uygulamanıza özgü ölçümlerin günlüğe kaydedilmesini destekler.
Azure Uygulaması Analizler izlenen uygulamalar hakkında içgörüler sağlamak için birden çok yol sağlar:
Uygulama Haritası – dağıtılmış uygulamaların tüm bileşenlerinde performans sorunlarını veya hata etkin noktalarını belirlemeye yardımcı olur.
Azure Ölçüm Gezgini , Microsoft Azure portalının grafik çizmeye, eğilimleri görsel olarak ilişkilendirmeye ve ölçümlerin değerlerindeki ani artışları ve düşüşleri araştırmaya olanak tanıyan bir bileşenidir.
Uygulama Analizler portalında performans dikey penceresi:
- İzlenen uygulamadaki farklı işlemlerin performans ayrıntılarını gösterir.
- Uzun bir süreye katkıda bulunabilecek tüm parçaları/bağımlılıkları denetlemek için tek bir işlemde detaya gitme olanağı sağlar.
- Profil oluşturucu, isteğe bağlı performans izlemelerini toplamak için buradan çağrılabilir.
Azure Uygulaması Analizler Profiler, .NET uygulamalarının düzenli ve isteğe bağlı profil oluşturmasına olanak tanır. Azure portalı, çağrı yığınları ve sık erişimli yollarla yakalanan performans izlemelerini gösterir. İzleme dosyaları, PerfView kullanılarak daha ayrıntılı analiz için de indirilebilir.
Uygulama Analizler çeşitli ortamlarda kullanılabilir:
- Azure'da çalışacak şekilde iyileştirilmiştir.
- Üretim, geliştirme ve hazırlama aşamasında çalışır.
- Visual Studio'dan veya diğer barındırma ortamlarında yerel olarak çalışır.
Kod tabanlı izleme hakkında daha fazla bilgi için bkz. ASP.NET Core için Uygulama Analizler. Kodsuz izleme hakkında daha fazla bilgi için bkz. Azure Uygulaması Hizmeti performansını izleme.
PerfView
PerfView , .NET ekibi tarafından .NET performans sorunlarını tanılamak için özel olarak oluşturulan bir performans analizi aracıdır. PerfView CPU kullanımı, bellek ve GC davranışı, performans olayları ve duvar saati zamanının analiz edilmesini sağlar.
PerfView hakkında daha fazla bilgi için araçta veya GitHub'da bulunan kullanıcı kılavuzuna bakın.
Windows Performans Araç Seti
Windows Performans Araç Seti (WPT) iki bileşenden oluşur: Windows Performans Kaydedicisi (WPR) ve Windows Performans Analizi (WPA). Araçlar, Windows işletim sistemlerinin ve uygulamalarının ayrıntılı performans profillerini oluşturur. WPT, verileri görselleştirmek için daha zengin yöntemlere sahiptir, ancak veri toplama işlemi PerfView'unkinden daha az güçlüdür.
PerfCollect
PerfView, .NET senaryoları için kullanışlı bir performans analizi aracı olsa da, yalnızca Windows üzerinde çalışır, bu nedenle Linux ortamlarında çalışan ASP.NET Core uygulamalarından izlemeleri toplamak için kullanamazsınız.
PerfCollect , Linux üzerinde PerfView tarafından analiz edilebilen izlemeleri toplamak için yerel Linux profil oluşturma araçlarını (Perf ve LTTng) kullanan bir bash betiğidir. PerfView'un doğrudan kullanılamadığı Linux ortamlarında performans sorunları ortaya çıktığında PerfCollect kullanışlıdır. Bunun yerine, PerfCollect daha sonra PerfView kullanılarak bir Windows bilgisayarda analiz edilen .NET Core uygulamalarından izleme toplayabilir.
PerfCollect'i yükleme ve kullanmaya başlama hakkında daha fazla bilgiyi GitHub'da bulabilirsiniz.
Diğer Üçüncü Taraf Performans Araçları
Aşağıda, .NET Core uygulamalarının performans araştırmasında yararlı olan bazı üçüncü taraf performans araçları listelenmiştir.
ASP.NET Core