Asp.net ile web sitesi yaparken performans için nelere dikkat edilmelidir?

  • Viewstate’e dikkat etmek gerekir. Gerekmedikçe server taraflı asp.net kontrollerini kullanmamak, kullanılacağı zaman kontrolün viewstate’e ihtiyacı yoksa EnableViewstate özelliğini değiştirmek, hatta mümkünse viewstate özelliğini proje genelinde tamamen devre dışı bırakmak gerekebilir.
  • Asp.Net WebForm’ları, bir sayfa üzerinde tek bir Form nesnesi mantığı ile çalışmaktadır. Bu nedenle, kullanıcının gerçekleştirdiği POST işleminde(örnek olarak sayfadaki bir butona basması) , bütün sayfa verisinin sunucuya iletilmesi anlamına gelmektedir. Bunun önüne sayfa üzerindeki tüm işlemlerde AJAX kullanılarak geçilebilir.
  • Session üzerinde çok büyük veriler tutmamak, her şeyi saklamak için Session’a bel bağlamamak gerekir.
  • ASP.NET ile ilgili değil ama önemli bir konudur: IIS varsayılan olarak, resim, css, javascript gibi içerikleri cache etmemektedir. Kullanıcının site içerisindeki her ziyaretinde, bu içerikler tekrar tekrar kullanıcıya gönderilmektedir. IIS 6.0’da ‘MIME-Types’, IIS7.0’da ‘Önbellek Kuralları’ ayarlarının yapılması gerekir.
  • IIS yine varsayılan olarak kullanıcıya gönderilen içerikleri gzip veya deflate ile sıkıştırmamaktadır. CSS, Javascript gibi static dosyaları sıkıştırabilmesi için IIS’in ayarlanması gerekmektedir. ASP.NET sayfasının da dinamik olarak sıkıştırılabilmesi için kod içerisinde Response üzerinde elle işlem yapmak gerekebilir. Veya IIS7.0 kullanılıyorsa, dinamik sıkıştırma özelliği etkinleştirilmelidir.
  • Bunlar dışında tabii ki dikkat edilmesi gereken en önemli nokta ise sunucu taraflı olarak yazılan kodların ne kadar iyi tasarlandığıdır. Bu sadece ASP.Net için değil tüm web programlamada geçerlidir. Kullanıcıya mümkün olan en az veri gönderilmeli, yine aynı şekilde kullanıcıdan mümkün olan en az veri alınmalıdır. Kullanıcının sunucuyu ve veritabanını ilgilendirmeyen arayüz üzerindeki işlemleri, javascript ve css ile sadece web tarayıcısına bırakılmalıdır. Genel olarak bir web sitesi, sunucu taraflı olarak, aranan veriyi bulmaktan ve gönderilen veriyi kaydetmekten ibaret olmalıdır. Çok büyük iş yüküne sebep olacak kodlar yazılmamaya çalışılmalıdır. Ama örnek olarak bir galeri sitesi için; kullanıcının siteye resim dosyası yüklemesi ve bu resim dosyasının sunucu tarafında işlenecek olması (büyültme, küçültme, efektler uygulama gibi…) ek bir iştir. Bu tarz işlerde ise memory-leak’e dikkat etmek gerekir. Hatta bu tarz işlemleri farklı bir thread içerisinde gerçekleştirmek, iş bittiği zaman kullanıcıya başka bir şekilde haber vermek gerekir.

http://www.inploid.com/dialog/132395 This content is created and delivered to here by using inploid.com

Advertisements

3 thoughts on “Asp.net ile web sitesi yaparken performans için nelere dikkat edilmelidir?

  1. çok faydalı olmuş hocam.örneklerle de yardımcı olabilirseniz çok seviniriz.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s