

Asp.Net Mvc Uygulamasında Performansı Nasıl Arttırabiliriz?( Uygulama, IIS , Server Vs. Ayarları)
-
Hocalar Asp.net Mvc ile uygulamayı geliştirip kendime ait server a koyduktan sonra hangi ince ayarları yapmak lazım uygulamanın performanslı çalışması için?
Server şu şekilde: E5-2690 V2 3.00Ghz (2 çekirdek) - 4 Gb Ram - SSD yok - Windows Server 2012 R2
Öncelikle uygulamayı geliştirme aşamasında veritabanından verileri çektikten sonra HttpRuntime.Cache[key] içinde sonuçları saklıyorum.Tekrar tekrar veritabanı sorgusu atılmıyor.
Ayrıca gereken heryerde de OutputCache attribute u ile action methodların çıktılarını cache e alıyorum.
Html,css,js gibi statik dosyaları da amazon s3 e falan koyacağım.S3 e statik dosyaları koyarkende "Cache-Control", "max-age=99999." yazıyorum.Tarayıcı tekrar tekrar istek atmasın.
Uygulamayı yüklerken release modda atıyorum tabiki server a.
Uygulama kısmı bu kadar.Diğer webconfig ten yada IIS üzerinden yapılması gereken ayarlar için biraz araştırdım şöyle 2 link buldum.
http://stackoverflow.com/questions/2246251/how-do-i-improve-asp-net-mvc-application-performance
Burda yazan şeyleri yapıp deneyeniniz var mı? Ben bazılarını denedim mesela IIS üzerindeki kullanılmayan bazı http modullerını kaldırayım dedim.Webconfig e 3-4 satır kod yazdım ancak performansta bir değişiklik olmadı gibi.Stopwatch sınıfı ile ölçtüm metodun çalışma süresini değişen bişey yok.
Tam tersi süre milisaniyeler cinsinden arttı bile.
Ayrıca siteyi test ederken Serverda canlı canlı görev yöneticisinden izliyorum.Cpu bazen %100 oluyo istek gelince.Server ı izlemeye yarayan programlara monitoring araçları diyoruz sanırım.Hangi araçları kullanmak gerek?Verdiğim linklerde dotTrace falan demişler web uygulaması için olur mu o yoksa sadece geliştirme aşamasında mı kullanılıyor? Bu konu ve windows server optimizasyonu üzerine tecrübe, bilgi,tahmin ne varsa yazarsanız sevinirim.
-
CPU %100 görmek iyi birşey değil hocam. hangi sorgularda bu durum yaşanıyor ? bunlar için bir kontrol yapmanı tavsiye ederim.
-
Veritabanı boş hocam karmaşık sorguda yok.Siteye istek attığında bazı sayfalarda anlık olarak %100 oluyor. Sanırım Time to First Byte (TTFB) problemi diye geçiyor. f12 ile bakıyorum TTFB süresi bazen çok uzun oluyor.
-
Yok mudur arkadaslar bu tarz konularda tecrübeleri olanlar?
-
Projenin boyutu-kapsami nedir haci, server'da farkli bir uygulama calistirdin mi test amacli, yaptiysan performansi nasil ?