ASP.NET Core performans geliştirmeleri

Womanne

Member
ASP.NET Core MVC ve ASP.NET Core WebAPI, ölçümlerimin gösterdiği gibi önceki ASP.NET’lerden yüzde 12 ila 24 daha güçlü.


Microsoft, çekirdek ürün ailesiyle (.NET Core, ASP.NET Core, Entity Framework Core) yalnızca platformdan bağımsız, modüler ve çevik olmakla kalmadı, aynı zamanda .NET Framework öncülleri olan ASP’yi de geride bıraktı. NET ve ADO .NET Varlık Çerçevesi).

Geçen hafta Microsoft, .NET Core 2.1 kullanan Bing arama motorunun hem klasik .NET Framework hem de .NET Core 2.0’a göre %34 performans artışı sağladığını duyurdu. Büyümenin nedeni, özellikle .NET Core 2.1’deki dizi işlemlerindeki iyileştirmelerde yatmaktadır, örneğin String.Equals() VE String.IndexOf(). Bu iyileştirmeler, sırayla, türlerin tanıtımına dayanmaktadır. Aralık VE Hafıza C# 7.2’de bellek bloklarında daha verimli gezinme sağlar (MSDN Magazine’de “C# Anlaşılma Alanı: .NET’te Yeni Bir Dayanak” bölümüne bakın).

.NET Core ve ASP.NET Core’dan bir avantaj elde edip etmeyeceğiniz sorusu, yalnızca bir arama motorunun sahip olduğu kadar çok dize işlemine ihtiyacınız varsa ortaya çıkar. ASP.NET Core MVC’nin performansını klasik ASP.NET MVC ile ve ASP.NET Core WebAPI’nin performansını klasik ASP.NET WebAPI ile karşılaştırdım. Burada yalnızca web sunucusunun ana belleğindeki statik metinler iletilir. Aşağıdaki ölçülen değerler bu nedenle dosya sistemi erişimi, veritabanı erişimi veya karakter dizisi işlemleri gibi diğer işlemlerden etkilenmez. Entity Framework yerine Entity Framework Core kullanılarak daha fazla performans iyileştirmesi var, 2016’daki gönderime bakın. Yakında EF Core 2.1 için daha güncel veriler yayınlayacağım.

Sonuç aşağıdaki grafikte görülebilir. Hem MVC durumu hem de WebAPI durumu, sırasıyla 50 ve 500 nesne (RAM’deki “veri kayıtları”) ile ölçülmüştür. Geçerli sonuçlar için 100 deneyin ortalaması belirlendi.

Sonuç, dört durumda da aynıdır: Klasik ASP.NET en yavaştır, ardından ASP.NET Core 2.0 gelir. En hızlısı, sürüm 2.0’dan biraz daha hızlı olan ASP.NET Core 2.1’dir. 50 veri seti ile farklar minimum düzeydedir. Ancak 500’de, yalnızca en son web çerçevesine geçerek biraz performans elde edersiniz. ASP.NET Core 2.1 ile WebAPI 12.5’tir ve ASP.NET Core MVC %24.4’tür (her biri klasik benzerleriyle karşılaştırıldığında).




ASP.NET Core ve ASP.NET'in performans karşılaştırması




TechEmpower karşılaştırmalı sayı 16 Haziran 2018 ayrıca ASP.NET Core’un diğer web çerçevelerine kıyasla daha iyi performans gösterdiğini ve iyi olduğunu gösteriyor.Burada ADO.NET DataReader ile veritabanı erişimi içeren ASP.NET Core’u 7. sırada bulabilirsiniz. Entity Framework Core 36th kullanılırken (tabloda “EF” yazıyor, ancak aslında “EF Core” kullanılıyor, bkz. TechEmpower kaynak kodu). Veritabanı PostgreSQL’dir. 33. sırada DataReader ve MySQL içeren ASP.NET Core yer alıyor. Microsoft SQL Server için ölçüm yoktur. Bu tartışmaya açık.




TechEmpower Referans 16




(Resim: https://www.techempower.com/benchmarks/#section=data-r16)




()



Haberin Sonu
 
Üst