IIS Application Pool Worker Process Ayarı ve AspNet Session State Servisi

IIS Aplication Pool‘un (w3wp) kaç process halinde çalışacağını belirten ayardır. Tam Türkçesi En Fazla Çalışan İşlem Sayısı şeklindedir. Default olarak 1’e ayarlıdır.

Genelde On Demand olmayan Always Running tipi çalışan uygulamalarda 1 process’in yükü taşıması performanslı olmayabilir. Ayrıca IIS’de default olarak pool’lar 29 saatte bir recycle (restart) edildiğinden uygulama yoğun zamanlarda geç ayağa kalkabilir. (Recycle işlemi pool ayarlarında düzenlenebilmektedir.)

Bunun önüne geçmek için yükü bölmek (IIS load balancing) iyi bir çözüm olacaktır. Yük bölme işlemi için birden fazla IIS sunucu kurabilir veya tek bir IIS üzerinde pool maksimum process sayısını arttırabilirsiniz.

Yük bölme işlemi için farklı nedenleriniz olabilir. Örneğin Uygulamanız On Demand’dır fakat istemci sayısı fazla olabilir.

Yalnız burda dikkat edilmesi gereken AspNet Session State (Oturum Durumu) modudur. Her iki yük bölme senaryosunda da uygulamaların Session bilgileri her bir sunucuda veya her bir process’de kalacaktır. Buda istemci isteklerinin cevaplanması sırasında farklı session bilgilerine erişilmesi ve dolayısıyla tutarsızlığa yol açacaktır.

Ortak session bilgilerine kayıt yapmak ve erişmek için iki yöntem söz konusudur. Birincisi IIS sunucuda (Bunun için sadece bu işlemi yapacak farklı özel bir sunucu da kurulabilir) session state servisinin aktif hale getirilmesi, ikincisi ise Sql sunucuda session state için bir veritabanı açılmasıdır. Her iki yöntem de çözüm olmakla birlikte performans olarak en uygunu sunucu session state servisinin aktif edilmesidir.

Adım Adım :

Görev Yöneticisinde w3wp.exe’ye ilişkin bir veya birden fazla process görürsünüz.

IIS Yönetim Panelinde Uygulama Havuzları (Application Pools) bölümünden bir Havuz’un (Pool) Gelişmiş Ayarlarına (Advanced Settings) girilir.

(daha&helliip;)