2011-04-06 45 views
-1

我們有一個ASP.Net [MVC]網絡場(運行IIS的Windows Server 2008 R2)。我們希望在每個框中共享會話狀態。在ASP.Net Web場中存儲會話狀態(Memcachedb或...?)

我知道我們可以用SQL Server來做到這一點,但是要明白這是一個開銷(有人提到性能下降了25%)。

Memcachedb不斷得到提及一次又一次,但我似乎無法找到一種方法將其掛接到ASP.Net爲會話狀態的目的。

有沒有人用.Net來成功實現Memcachedb?或者,有沒有其他的建議可以在所有盒子上存儲會話狀態?

非常感謝

+0

我沒有看到你說的......你能告訴我們你在哪裏看到這個25%的跌幅表現?在我的sql服務器中,會話狀態超快,我甚至不關心。 – Aristos 2011-04-06 12:40:24

+0

我找不到明確表示25%的來源,但本文引用了'10%-25%'。 在某些情況下,我們使用複雜的類型我認爲我們的命中可能在更高的一面:http://idunno.org/articles/277.aspx - FTA:「使用SQL比使用InProc會話狀態要慢。當存儲基本數據類型(字符串,整型等)時,ASP.Net的存儲時間可能會延長10%-25%,複雜類型需要更長的時間。當然,因爲你連接到一個單獨的服務器,你的網絡。「 – isNaN1247 2011-04-06 12:43:01

+0

10%-25%聽起來太大(但...),我的網站使70ms-200ms開始顯示一個頁面,並且我使用sql會話狀態。現在100ms的10%,僅僅是10ms的額外,太小而不能算作延遲。而且我的延遲不是來自會話狀態。現在,如果您的服務器在歐洲,而另一個服務器在美國,您可能有100ms +的延遲,那麼使用SQL連接到另一個服務器是一個問題,但如果它們位於同一建築物,則延遲爲0。 – Aristos 2011-04-06 13:00:07

回答