IIS için Application Initialization veya Warm Up Script Ayarları

Bazı web uygulamalarımızın rcyle sonrasında otomatik olarak ayağa kalmasını bekleriz. Bu gibi durumlar rcyle sonrasında uygulamamızın cache olarak kullanabileceği data vb. ihtiyaçların hemen yüklenmesi ve rcyle sonrasında siteye ilk giriş yapan kullanıcının yavaşlık yaşamaması için gerekli olabilir. Ben ve şuanki ekip liderim Ümit Gündüz şu anda geliştirdiğimiz mevcut bir uygulamada yaşanan bu problemi aşmak adına bir warm up script ihtiyacımız olduğundan biraz araştırdıktan sonra  IIS 7,5 ve sonrası için gelen ApplicationInitialization Modulü ile bu yöntemi aşabildik. Warm Up Scriptlerimizi IIS üzerinde bir kaç ayarlama ile yapmamızı sağlıyor. ekstra bir schedule bir servis vb. ihtiyacımız kalmamış oluyor.

Kısaca bahsetmek gerekir ise şöyle;

Web Server üzerinde “Management” altındaki “Configuration Editor” açılır.

Application_Initialization

“Section” kısmında “applicationHost/applicationPools” seçilir.

“Collection” kısmındaki … nokta detay butonuna tıklanır.

Application_Initialization

Açılan “Collection Editor” ekranında ilgili “Application Pools” seçilir. Application pool seçildikten sonra “startMode” seçeneği “AlwaysRunning” yapılır.

Application_Initialization

İşlemler tamamlandıktan sonra “Collection Editor” ekranı kapatılır ve sağ taraftaki “Apply” butonu ile işlem onaylanır.

Sonrasında “Configuration Editor” ekranında “Section” kısmında “applicationHost/sites” seçilir.

“Collection” kısmındaki … nokta detay butonuna tıklanır.

Application_Initialization

Açılan “Collection Editor” ekranında ilgili “sites” seçilir.

Application_Initialization

Site seçildikten sonra “applicationDefaults” seçeneği genişletilerek aşağıdaki ayarlar yapılandırılır.

applicationPool = applicationPool Name

path = virtual directory

preloadEnabled = True

Sonrasında ekran kapatılır ve sağ taraftaki “Apply” butonu ile ilgili değişiklikler onaylanır.

Sonrasında ilgili site üzerine tıklanır ve Sonrasında “Configuration Editor” ekranında “Section” kısmında

Application_Initialization“system.webserver/applicationInitialize” seçilir. Açılan ekranda aşağıdaki ayarlar yapılandırılır.

Application Initialization

reMapManagemendRequestTo  = site’ ın ilgili açılış sayfasıdır.

skipManagemedModules= true yapılır.

“Collection” kısmına tıklanarak açılan ekranda da aşağıdaki ayarlar yapılandırılmalıdır.

initiliazePage = /ilgili sitenin açılış sayfası olmalıdır.

Sonrasında Command Promptan iisreset komutunu çalıştırıyor olmalısınız.

İşlemleri başarılı bir şekilde tamamladı iseniz web uygulamanız otomatik olarak bir istek ile uygulamanızı ayağa kaldıracaktır. Eğer var ise log dosyalarınız dan bunu kontrol edebilirsiniz. Yada siteye bir request attığınızda hiç beklemeden açılması gerekmektedir.

Reklamlar