September 23, 2010
@ 04:31 PM

İnce ama etkili  ;)

Siteye bakılır, beklenmeyen bir nedenden ötürü bazı durumlarda ölümcül olmayan bir performans sıkıntısı yaşanır/yaşandığından şüphe edilir.
Kollar sıvanır, uğraşılır pek birşey gözlemlenemez. Artık requestlerin analizine kadar inilmiştir, keep-alive requestlerin bazılarında görünmez.
Ha, işleri kolaylaştıralım derseniz de şurdan LogParser'i indirip kullanabilirsiniz.

Bu durumda clinet sayfadaki her bir request ( örneğin sayfa içindeki resim, .js, .css dosyaları ) için yeni bir connection açmak için kasmakta server ise bu connectionlara cevap vermek için elinden geleni yapmakta,
CPU ve memory'de bir artışa neden olmaktadır. Tahmini oranlar çıkarılmaya çalışıldığında ise her connection için IIS 1KB kadar ( çıkarım ) memory kullanmakta olduğu sonucuna varılmıştır.

Detaylar için okunası bir kaynak.
Aman irtibatı koparmayalım Mr. Spock.

Az sonra gelen edit : Yahu oldu olacak X-Powered-by ve Server bilgisini de silelim header'dan ne gerek var kopleksliğe rahatlasın paketler.
Server header bilgisini silerken IIS'i rahatsız edebilirsiniz, o durumda modül yazmanız gerekebilir. PreSendRequestHeader eventinde HttpContext.Current.Response.Headers.Remove("Server"); yazmak yeterli olur umarım.Yok yetmedi temizlik az daha derseniz de X-Aspnet-Version bilgisini de silebiliriz header'dan. Web.config'de <httpruntime enableVersionHeader= "false"> düzenlemesi ile yapılabilir
.