2013-11-15 11 views
0

我在Windows 2003 Server 32位上運行IIS6。我讀過IIS6的最大虛擬內存限制爲2GB(使用3GB交換機時3GB)。IIS6上每個ASP.NET工作進程的最大可用內存量

我不清楚的是,這是否意味着所有的ASP.NET會話在它們之間都有2GB或每個2GB。

因此,如果我有一個會話變量存儲200kb,並有10,000個活動會話,我會打擊這個2GB限制?

回答

0

一般的建議是,讓這些選項取消選中ASP.NET應用程序,它會影響應用程序池如何迅速回收下面的詳細信息here摘要:

物理和虛擬內存:這部分是回收應用程序池,其消耗太多內存。關注物理特性我通常喜歡根據內存的數量和數量限制應用程序池大約在800MB到1200MB之間,而在32位應用程序中只有極少的應用程序池。在2 GB RAM的服務器上,我將它設置在最大800MB左右。在1GB左右的4GB內存服務器上,如果更多,最高可達1200左右。在一個64位網絡前端,內存爲8-16 GB,我聽說2GB內存的設置,甚至讓它可以讓它騎,而不是限制它。

你真的需要對它進行配置,因爲它們可以真正發展到處理和緩存。內存量越大,負載越大,工作進程的增長就越高。當人們詢問有關配置應用程序池時,他們通常會問這些數字應該是什麼。你在這裏做的是明確限制應用程序池消耗更多的內存。

請注意,此設置位於回收選項卡上,這是有原因的。當應用程序池達到最大值時,它不像最大處理器設置。它會循環工作進程,就像一個微小的重啓或類似於iisreset,但不是因爲有時我們希望發生這種情況,所以我們可以釋放我們的記憶。在一個理想的世界裏,你實際上不希望每24小時循環幾次。我聽說有些人試圖在早晨發生高峯之前進行循環,以便他們擁有最多的可用內存,然後在備份或爬行開始前的一天結束時進行循環。

基本上建議沒有設置限制(不要選中選項),因爲一旦達到限制,IIS將回收應用程序池,導致所有活動用戶暫時與站點斷開連接。您的用戶可能會在應用程序池回收時收到HTTP 500,然後一旦回來,應用程序池升溫時將出現延遲。

會議

對於任何規模的應用程序不使用InProc方式(存儲在內存中)會話使用狀態服務器或SQL服務器來存儲您的會話。 http://msdn.microsoft.com/en-us/library/ms178586.aspx

結論

這真的取決於你的應用程序的配置文件,如果你的期望有1個萬名有效會話雖然不使用InProc方式,不使用IIS6和不使用32位服務器。