Asp.Net MVC uygulamasının performasını nasıl arttırırım?

alattin (16999) 10 yıl önce sordu

ASP.NET MVC uygulamasının performansı nasıl arttırılır?
ASP.NET MVC uygulamasında yapılması gereken iyileştirmeler nelerdir?

Toplam 1 cevap


alattin (16999) 10 yıl önce cevapladı
  1. Son halini verdiğiniz ve artık yayına alacağınız uygulamanızın Release modda deploy edildiğinden emin olun. Web.config içerisinde compilation satırını debug'dan çıkartın.
    <compilation debug="false"></compilation>
  2. Hangi View Engine ile çalışıyorsanız (Razor, Asp.Net View Engine) sadece gerekli olanı aktif edin.
    Global.asax içerisinde, Razor  view engine için şu satırı ekleyin.
    protected void Application_Start() 
    { 
        ViewEngines.Engines.Clear(); 
        ViewEngines.Engines.Add(new RazorViewEngine()); 
    }
  3. CachedDataAnnotationsModelMetadataProvider dan faydalanın.
    global.asax dosyasını açın ve  Application_Start metodunun içine şu satırı yerleştirin.
    ModelMetadataProviders.Current = new CachedDataAnnotationsModelMetadataProvider();  
  4. View'lere Null model geçmeyin.
    View'lerinize mutlaka Model bağlayın. Projelerinizde ViewModel kullanın. Html yardımcı sınıfından faydalanın ve strongly-typedHtml.TextBoxFor(m => m.Ad) gibi) ifadeler kullanın
    // KÖTÜ
    public ActionResult Profil() 
    { 
        return View(); 
    }
    // İYİ
    public ActionResult Profil() 
    { 
        return View(new ProfilViewModel()); 
    }
  5. URL Rewrite  kullanmıyorsanız IIS'den kaldırın.

  6. İhtiyacınız varsa,sayfanız çok değişmiyorsa, Cache için OutputCacheAttribute kullanın, 

    [OutputCache(VaryByParam = "none", Duration = 3600)]
    public ActionResult Makale() 
    { 
        return View(new MakaleViewModel()); 
    }
  7. HTTP sıkıştırma kullanın. Web.config'e şu satırı ilave edin.

    <system.webserver> 
    <urlcompression dodynamiccompression="true" dostaticcompression="true" dynamiccompressionbeforecache="true"></urlcompression>
    </system.webserver>
  8. Kullanmadığınız HTTP modüllerini kaldırın. Web.config'de, eger modülleri kullanmıyorsanız, şu satırları ilave edin
    <httpmodules>
          <remove name="WindowsAuthentication"></remove>
          <remove name="PassportAuthentication"></remove>
          <remove name="Profile"></remove>
          <remove name="AnonymousIdentification"></remove>
    </httpmodules>
  9. İzlemeyi kapatın (Tracing) (web.config)

    <configuration>
         <system.web>
              <trace enabled="false"></trace>
         </system.web>
    </configuration>