IIS Tuning IIS Yavaşlık Sorunu (Çözüldü)

IIS ‘e düşen isteklerin hemen yanıtlanması için açıklama:

Microsoft IIS web sunucularında varsayılan olarak gelen bir ayar var. Bu ayardan bahsedecek olursak; sizin yayınlandığınız web servisinizin veya uygulamanızın application pool ‘unda olan start mode ayarıdır. Bu ayarın OnDemand ve AllwaysRunning olarak 2 seçeneği var.

Varsayılan demiştik evet varsayılanda “OnDemand” gelir. Bu ayar özetle; IIS ‘in o sitesine ait olan w3wp.exe yani iis process ‘ine ; devamlı çalışmana gerek yok, acele etme istek gelince ayağa kalkarsın der. Bunun ne gibi olumsuzluğu olabilir ? Sizin uygulamanıza istek geldiğinde process yine varsayılan olarak 20 dk içinde istek gelmemişse kendini uyku moduna alır ve process ayağa kalkıp cevap verene kadar yaklaşık 30 – 45 sn arası sürer. Bu süre yüksek görünmese de büyük ölçekli çalışan sunucularda özellikle para geçen sistemlerde ciddi bir soruna sebep olabilecek bir konu olabilir.

Aksiyon

Bu bağlamda yukarıdaki resimde görüldüğü üzere; IIS process ‘inin (w3wp.exe) devamlı hazır olda beklemesi yani uyku moduna geçmemesi için Start Mode ‘unu “AllwaysRunning” olarak değiştirip Idle-Timeout (minutes) ayarını da “0sıfır olarak ayarlarsanız IIS teki ayar yaptığınız o app pool ‘a ait web servisiniz hızlı cevap verecek ve performans sorununuz ortadan kalkacaktır.

Unutmayalım ki Application pool iyi pratiklere göre her gün recycle edilmelidir ki her recycle işlemi sonrası iis servisinize hiç istek gelmezse yine uyku modunda bekliyor olacaktır bu sebeple bu ayar da önerilmese bile kapatılmalıdır.

Yukarıdaki işlem memory nizde artışa sebep olabilir. İyi pratiklere göre application pool larınıza yoğun olmayan bir saatte bakım yani recycle etmelisiniz.

Bir Cevap Yazın

EnglishTurkish
%d blogcu bunu beğendi: