2010-07-06 68 views
0

我有一個關於會話變量的問題。我們使用可序列化的值對象來存儲值。有時我們使用複合/聚合對象,我想知道這些對象佔用了多少內存。測量會話變量大小/重量 - Plus - 是否有會話壓縮?

看看這些對象有多大是一個好方法,所以我可以看到它們在服務器上使用的是什麼類型的內存。

而且 -

有什麼要壓縮和會話變量做了什麼?我不知道我們是否可以在寫入變量前壓縮它們,並在檢索它們時解壓縮它們。這有什麼價值嗎?

非常感謝。請讓我知道你是否需要更多細節。

回答

1

有很多方法可以給這隻貓上皮,我相信它已經在這裏了,但我會用adplus and Windbg

至於壓縮,這聽起來像ASP.Net 4.0的好消息,有能力壓縮超出proc會話狀態。雖然沒有幫助你。我相信第三方會話狀態提供者正在做某些事情,但我不知道。可能對你也沒有幫助。

我認爲相關的問題是您想要保存什麼,以及您願意爲此付出多少代價?在進程中,您正在交易CPU的內存以及解壓縮所需的時間。如果它存儲在某種會話服務器中,那麼關心的問題必須是連線或磁盤空間上的時間(我懷疑)。

雖然你比我更瞭解你的代碼,但我認爲它仍值得退後一步,並詢問這個對象是否值得在狀態中保存,或者只是它的一部分是昂貴的或不可能的重建?

+0

哇,謝謝!從未使用WindBG。真棒。這個問題由於多部分形式而發揮作用。在導航前進<&>回來通過錄入過程中,我檢索數據時從一個重新加載。我曾經使用一系列面板和持久對象通過發送它們到viewstate(或讓控件通過viewstate處理值)來做這種技術,但是我這次嘗試數據檢索方法。 現在,我可以看到這些對象有多大,我想看看這兩種方式的表現如何。 – 2010-07-07 11:43:54