Kişisel deneyimim var, ancak paylaşılacak ölçütler veya kaydedilmiş metrikler yok. Başlangıçta, InProc yöntemini kullanarak oturumda normalden büyük bir kullanıcı nesnesi depolayan bir Asp.Net sitesi oluşturduk. Nesnenin büyüklüğünün ve hata işleme kitaplıklarımızın doğasının 2 istenmeyen davranışa neden olduğunu bulduk. Birincisi, uygulama havuzunun prosesler sırasında rastgele aralıklarla geri dönüşümüdür. W3wp.exe işlemi orta akımda kendini geri dönüştüreceğinden, aslında oturumu boşaltacaktır ve nesne kaybolacaktır. Bu, diğer kodun oturuma başlamasına ve oturumu onarmasına neden oldu ve işlemlerin gecikmesini artırdı. Aynı zamanda (her ne kadar korkunç bir problem olmasa da ve sadece tanımladığım bellek kaybını hata bulmaya çalışırken keşfettik), oturumdaki nesnenin büyüklüğünün, sayfanın kendisi için kitaplıklara yüklenen nesnelerin bir kısmı ile birlikte olduğunu bulduk. w3wp.exe kendini tekrar tekrar girip çıkıyor. Yalnızca oturum nesnesini veya bu kütüphane nesnelerini içeren ancak her ikisini de içermeyen daha küçük istekler için, süreçte tuhaf çağrı davranışı yoktu.
InProc'dan StateServer'a taşınırken, geri dönüşüme anında bir geri dönüş olduğunu keşfettik. Havuz aslında daha az geri dönüşüm kadar sona erdi ve ne zaman bile bizim seans nesneleri ayrı bellekte kaldı. Ayrıca, bu durumun, sayfalama ile ilgili olarak yukarıda açıklandığı gibi evrensel bir "kitaplık" durumu yarattığını ve tekrar deneyimlemediğimizi de fark ettik (itirafen 1 ay çalışma süresinin ardından kontrol etmeyi bıraktım). O zamanlar belirli çerçeve kitaplıklarına erişimde çok küçük bir gecikme yaşadık, ancak 2.0'dan 3,5'e yükseldiğimizde, bu erişim anomalileri tamamen ortadan kalktı. Yakında 3.5'ten 4.0'a yükseldiğimizde benzer davranışları umuyoruz.
bir durum kontrol olarak SQLServer kullanan bir test yeri
denendi ve bulduğumuz tek gecikme ilk oturum oluşturma/depolama idi. SQL'deki oturumu güncelleme/erişme için yapılan çağrılar, StateServer seçeneğinden hiçbir gerçek farklılık sağlamadı. Herhangi bir metriğim yok, ancak davranışlarda bir farklılık gösteren sistemlerde hiçbir şey yoktu. Zaman damgasının her yönüyle benzer farklılıkları vardı. o, nadir kullanım potansiyelinin biz Oturum durumu sunucusuyla doğrudan çift kullanıcı veritabanına başardık ve doğrudan damgaları, durumlarını ve diğer özel oturum değişkenlerini karşılaştırmak olmasıydı olsa bir yararı biz kazanç yaptık. Bu özellik için gerçek bir ihtiyacımız yoktu ve StateServer seçeneği üretim sunucularımızda zaten tam bir hızla ilerliyordu, dolayısıyla olduğu gibi bırakma kararlılığıydı.
Sonunda
, bu StateServer için ınproc dökümü bizi ikna bellek kullanımı gibi çok hız değildi. Erişim hızının faydaları kesinlikle verileri ilk sırada bellekte tutma ihtiyacından ağır basmadı.
İşte Github adresinde başka Memcached oturum sağlayıcısı - https://github.com/rohita/MemcachedSessionProvider –