Arkadaşlar applicationların serverda tutulma süresi ne kadar? Ben onu 24 saate ayarlamak istiyorum nasıl yapabilirim? \ /

UP^^ \ /

hocam session demiyorum application diyorum sessionları biliyorum session. timeout ile ama application diyorum ben app li ca ti on \ /

Application pool, IIS 6.0 ile birlikte gelen bir kavramdır. IIS 6.0 içinde yarattığınız web siteleri için ayrı application pool'lar tanımlayabilir ya da birden fazla web sitesini aynı application pool içinde çalıştırabilirsiniz. Çok kabaca, eğer iki web siteniz ayrı application pool'lar içinde çalışıyorsa, sitelerden bir tanesinde yaşayacağınız bir problemden, application pool'lar ayrı olduğu için diğer site etkilenmeyecektir. Bu tanımlamaya gre, application pool'ları, web sitelerini birbirlerinden izole çalışmak için kullanabilirsiniz. Application pool ayarlarına baktığınız zaman, bazı zellikler greceksiniz. Bunlardan bir tanesi de application pool'un "recycle" zelliğidir."Recycle", yine çok kabaca, application pool'un yeniden başlatılması gibi düşünülebilinir. Eğer uygulamanızda bir takım problemler yaşıyorsanız ve bu application pool'un memory kullanımı çok yüksek ise, application pool'u recycle ettirmek, application pool'un kullandığı memory miktarının düşürülmesini sağlayacaktır. Tabi ki byle bir sorun varsa, uygulanızı debug etmek ve sorunun neden kaynaklandığını bulmak çok daha doğru bir yaklaşım olacaktır. Application pool ayarlarına baktığımız zaman karşımıza gelen ilk ekran "recycling" ekranıdır. Burada, yazıma konu olan "Recycle worker process " ayarından kısaca bahsetmek istiyorum. Default olarak IIS 6.0 içinde burada greceğiniz değer 1740 dakika olacaktır. Yani, bu application pool, her 1740 dakikada bir recycle edilecektir. Bunun anlamı, 1740 dakikada bir bu application pool'un ilgili olduğu worker process kapatılacak ve yeni bir worker process başlatılacaktır. Ancak, bunun yan etkileri de olacaktır. rneğin, eğer session'ları inproc, yani application pool memory'sinde tutuyorsanız, bu recycle işlemi sonucunda kullanıcılarınız, session'ları kaybedecektir.1740 dakika, 29 saattir. Yani default ayar tutulduğu zaman her 29 saatte bir application pool recycle edilecektir. Basit bir hesap yaparsak, gece 00:00'da recylce eden application pool, bir sonraki seferde sabah 05:00'te recyle edecektir. Bir sonraki recycle, sabah 10:00'da olacaktır. Bir sonraki recycle ise 15:00'a denk gelecektir. Greceğiniz gibi, bu default ayarla, recycle eden saatleri, uygulamanızın az kullanıldığı saatler olarak belirleyememiş oluyorsunuz. Bunu engellemek için, bu seçeneği kaldırıp, bunun yerine application pool'un daha spesifik bir saatte recycle edecek şekilde ayarlayabilirsiniz. rneğin, "Recycle worker process at the following times" seçeneğini aktif hale getirip, uygulamanızın en az kullanıldığı bir saatte recycle edilmesini sağlayabilirsiniz. Bu ufak değişiklik, size gelen şikayetleri azaltacaktır. Geçerli olduğu platformlar:IIS 6.0Kaynaklar:Configure Application Pool Recycling (IIS 6.0)http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/1eee28e2-b319-4b4e-8267-a8c0aa0dcf36. mspx?mfr=trueHow Worker Process Recycling Works (IIS 6.0)http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/24e3c22e-79a9-4f07-a407-dbd0e7f35432. mspx?mfr=true edit : altinsoft.com dan alinti bir yazi

Uygulama Durumu Sessionlar kullanıcıya zgüdür. Kullanıcıya ait değişkenler, zellikler sessionlar içerisinde saklanabilir. Kullanıcı uygulamadan çıktığında sessionlar bellekten atılabilir. rneğin bir alışveriş sepeti içerisindeki ürünler sessionda tutulabilir. Sipariş tamamlanmazsa veya tarayıcı penceresi kapatılırsa sessionlar silinir. Bu istenen bir durumdur. Uygulama lçeğinde değişkenler oluşturulup, kullanılmak istenildiğinde ise application nesnesi kullanılır. Application nesnesi uygulamaya zgüdür. ASP. NET uygulaması, IIS çalıştıkça application değişkenlerini kullanabilir. Tarayıcı kapatılsa dahi uygulamaya zgü değişkenler bellekte kalır. Application nesnesinin çok kullanıldığı bir durum, siteyi ziyaret edenlerin toplam sayısını ğrenmedir. burdan şunu çıkarabiliriz, IIS restartlanana kadar Application objectinde ile tutulanlar ramde allocated olarak kaliyor. Yani biz mudahale etmedikce server veya iis down olmadikca veya biz silmedikce orda tutulacak. Ozaman Application classinin HttpApplicationState classindan inherit ettigi methodlar sayesinde silip temizleyebiliyoruz Applicationları. Fakat burda 24 saatlik bir muddette silinmesini istemissin. MethodDescriptionAddAdds a new object to application stateClearRemoves all objects from an application stateGetGets an application state object by name or index. GetKeyGets an application state object name by indexLockLocks an application state variable and make sure variable is not accessible by other modules of an application until it is unlocked. UnlockUnlocks a locked variableRemoveRemoves an object from the collectionRemoveAllRemoves all objects from a collectionRemoveAtRemoves an object from the collection by using an indexRemoveAtUpdates the value of an object in a collection yukardakiler Application classimizin devraldigi ozelliklermis. Server tarafinda bir zamanlayici yazip, Application. Remove ; komutunu veya Application. RemoveAll ; ile hepsini sildirmeye ne dersin 24 saatte bir?

saolasınız hocam \ /

: :S application dedigin nedir belirtmemissin bile? asp/php/cgi/perl basligindasin bunlardan birini kast etmissin ama anliyamadik, eminim cogu kiside anliyamadigindan cevap bile yazmamistir. Application yapip servera deploy ediyorsan niye tutulma suresi olsun yahu diye duz mantikta yapmak isterdim bilmeden ama :) sen detay versen ve biraz daha aciklasan? hocam aspyi bilsen applicationun ne olduğunu bilirsin serverda tutulan bilgi sessionun serverda tutulan tüm kullanıcıların ortak kullanabildiği bişeydir. asp bilenler şüphesiz biliodur applicationu \ /

senin application dedigin session larin serverda tutulma suresini 24 saat yapmaksa eger ; config. web dosyasini açıp şurda gordugun timeout="20" olan sey serverda sessionlarin dakika olarak release olma sureleridir. onu 20 degilde 60 dakika 24 saat = 1440 yaparsansessionlarin serverda 1 gun tutulup ardindan olur. Ama bunu gercekten yapmak istiyorsan :) gercekten az sayida kayitli uyen olmali, yada ultra super ram ve islemciye sahip bir dedicated serverin olmasi gerekir galiba. asp. net te kod yazarkende session acimindan sonra session. timeout= 1440; yaparak sayfalarda dinamik olarak yapabilirsin.

:S application dedigin nedir belirtmemissin bile? asp/php/cgi/perl basligindasin bunlardan birini kast etmissin ama anliyamadik, eminim cogu kiside anliyamadigindan cevap bile yazmamistir. Application yapip servera deploy ediyorsan niye tutulma suresi olsun yahu diye duz mantikta yapmak isterdim bilmeden ama :) sen detay versen ve biraz daha aciklasan?

bahsettiğin application poolsa, applicationlar default olarak 24 saati aşkın bir sürede tutuluyor zaten iis de. ancak ram ve cpu aşımı kullanıma gre otomatik sıfırlanıyor.. ayarları iis application pool ayarlarından yapmalısın kendin belirleyebilirsin ancak çok yük altında çalışan bir serverda 24 saat süre performans açısından sana zorluk çıkartır.. kendi deneyimlerim ve gzlemlerime gre biliyorum Türkçe kaynak bulamadıydım applicationlarla ilgili. :|