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
İ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
5* *kullanım yollarını belirlemek için. ASP.NET MVC Perfomance by Rudi Benkovic
Önbellek rota bu yardımcı 6* ASP.NET MVC Perfomance by Rudi Benkovic *kullanarak çözme
Güvenlik
- Kimlik Doğrulaması kullan Formlar, sık erişilen hassas verileri Tutun kimlik doğrulama bileti
DAL
- SERİ üzerinden veri rely on IQueryable erişirken
- Leverage the Repository pattern
- Sorularına yani Uber Profiler profil
- Sorguları için ikinci seviye önbellek düşünün ve onları Ekle 18* yani *bir kapsam ve bir zaman aşımı
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">
Nasıl ayarı yanlış LinearLayout perfor...
Nasıl en iyi performansını artırmak iç...
Nasıl bir android Uygulama yığın boyut...
Nasıl Eclipse performansını artırmak i...
Nasıl bir Android uygulama performansı...