SORU
11 ŞUBAT 2010, PERŞEMBE


Nasıl ASP.NET MVC Uygulama Performansını artırmak İçin

Nasıl ASP.NET MVC uygulamanızın performansını artırmak mı?

CEVAP
11 ŞUBAT 2010, PERŞEMBE


İyileşme Olası kaynaklardan derlenmiş bir listesi aşağıdadır:

Genel

  • Uygulama, bellek sızıntıları ve performans sorunları keşfetmek için bir profiler kullanın. şahsen dotTrace öneririm
  • Serbest modunda sitenizi, hata Ayıklama modu koşmak değil, aynı zamanda performans profilleme sırasında üretim, ve. Yayın modu çok daha hızlı. Hata ayıklama modu kendi kodunuzu performans sorunları gizleyebilirsiniz.

Önbelleğe alma

  • CompiledQuery.Compile() özyinelemeli olarak kaçınarak sorgunuzu yeniden derleme ifadeler
  • Önbellek eğilimli değiştirilebilir içerik OutputCacheAttribute gereksiz kurtarmak için eylem infazlar
  • Sık erişilen olmayan hassas bilgi için çerezleri kullanır
  • ETags ve son kullanma kullanmak - özel Yazma ActionResult gerekirse yöntemleri
  • RouteName kullanma yolları düzenlemek ve oluşturmak için kullanın düşünün bağlantılarınızı ve ifade ağaç tabanlı ActionLink yöntemi kullanmamaya çalışın.
  • Yol bir çözüm stratejisi önbellekleme uygulama düşünün
  • PartialViews kaçının sizin oluşturup bunun içinde tekrarlayan kod koymakxxxxtimes: aynı bakış aynı kısmi 300 kere " demeye başlar, muhtemelen bir şey var bunun neresi yanlış. Explanation And Benchmarks

Yönlendirme

Güvenlik

  • Kimlik Doğrulaması kullan Formlar, sık erişilen hassas verileri Tutun kimlik doğrulama bileti

DAL

Yük Dengeleme

  • Uygulama örneği üzerinde istemci yükü yaymak için ters proxy kullanmak. (Yığın Taşması kullanır HAProxy (MSDN).

  • Asynchronous Controllers dış kaynaklara işleme bağlı olan eylemleri uygulamak için kullanın.

İstemci tarafı

  • Optimize müvekkilin, YSlow gibi bir araç için yan kullanın performansını artırmak için öneriler
  • Mümkün olduğunda AJAX UI bileşenleri güncelleştirmesi, tam sayfa bir güncelleme önlemek için kullanın.
  • Karşı pub-sub-yani içerik için Comet - mimari bir teslimat uygulaması düşünün yeniden zaman aşımı merkezli.
  • Mümkünse istemci tarafında grafik ve grafik oluşturma mantığı hareket. Grafik nesil pahalı bir faaliyettir. İstemci tarafı için bir sunucudan ertelenmesi gereksiz yük ve grafikler ile yerel olarak çalışmak için yeni bir makyajsız sağlar istek (, jqbargraph, MoreJqueryChartsgrafik yani Flex).
  • Kullanın EĞER kodlar ve medya için içerik istemci tarafı (25 *yani*)) indirmek ve yükseltmek için
  • Komut dosyası boyutunu artırmak için-Compile- JavaScript Minify
  • Kurabiye boyutu küçük tutmak, kurabiye her istekte sunucuya gönderilir beri.
  • Mümkün olduğunda DNS and Link Prefetching kullanmayı düşünün.

Genel yapılandırma

  • Eğer Jilet kullanıyorsanız, genel olarak aşağıdaki kodu ekleyin.asax.cs, varsayılan olarak, Asp.Net MVC SEO motoru ve jilet gibi bir motor ile işler. Bu sadece RazorViewEngine kullanır.

    ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine());

  • Gzip (HTTP compression) ve statik önbellek (resimler, css, ...) eklemek web.config <system.webServer> <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/> </system.webServer>

  • Kullanılmayan HTTP Modüllerini çıkarın
  • HTML oluşturulan en kısa sürede (web.Flush config) ve devre dışı bırakın eğer kullanıyorsanız görünüm durumu <pages buffer="true" enableViewState="false">

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007