2010-07-15 59 views
6

我需要做一些性能調整,需要修改以下設置:processModel,httpRuntimeconnectionManagement。很簡單,我想,但我不確定要編輯兩個machine.config文件中的哪一個,還是要編輯這兩個文件?我在我的服務器上有兩個machine.config文件,我要編輯哪一個文件,以及如何驗證它們正在使用?

  • \的Windows \ microsoft.net \ 框架 \ V2.0.50727 \ CONFIG \ machine.config中
  • \的Windows \ microsoft.net \ Framework64 \ V2.0.50727 \ CONFIG \ machine.config中

作爲後續問題,如何驗證設置已應用?

我應該提到服務器運行帶有IIS 6.0(64位)和MSSQL Server Enterprise 2005(64位)的Windows Server 2003 Enterprise(64位)。

感謝您的幫助!

回答

11

如果.NET應用程序/ IIS以64位模式運行,則位於Framework64中的一個正在使用。如果以32位模式運行,則使用另一個。

當啓動Windows任務管理器時,如果在進程名稱後附加了「* 32」,那麼它將以32位運行。如果不是,它會在64位下運行。

如果您的操作系統是64位,那是因爲您的計算機上同時擁有這兩個文件夾,所以我假設了這一點。

如果您使用的是IIS6/7,則該進程名爲w3wp.exe。

IIS7有更多的設置,以及它可以被讀取at this blog post

+0

現在看看任務管理器,我看到「w3wp.exe」。那麼這是否意味着我正在運行IIS 7.0而不是像我以前想的那樣運行6.0?我也看到「sqlservr.exe」。兩個進程都沒有「* 32」後綴。 但是,我確實看到其他具有「* 32」後綴的proc(即「sqlbrowser.exe * 32」,「SqlWb.exe * 32」)。任何想法是什麼意思? – John 2010-07-15 15:33:59

+0

順便說一句,我使用這篇文章來確定哪個版本的IIS默認安裝在Windows Server 2003中:http://support.microsoft.com/kb/224609 – John 2010-07-15 15:35:54

+0

IIS6和7都被命名爲w3wp。我在我的答案中編輯了這個。如果w3wp缺少* 32,則它們以64位運行,並且您應該在Framework64中編輯machine.config。 – 2010-07-15 16:17:52

3

我個人不會編輯,而是在網站或應用程序級別修改web.config文件。

您應該能夠以這種方式修改httpRuntimeconnectionManagement設置,但不能修改爲processModel,它只能在machine.config中使用。

但是你may not need to modify processModel,如果你是在Windows Server 2003

正如其他人所指出的那樣,如果你想修改的machine.config,IIS6會在默認情況下,64位模式下運行,所以這是該版本編輯。如果你需要在32位模式下運行(例如,因爲你需要使用32位本機DLL),您可以配置32位模式如下:

cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 "true" 

更多信息,請參見this TechNet article

+0

感謝提示喬。我將爲所有上述設置使用web.config。 – John 2010-07-19 20:57:46

+0

,除非您希望將設置應用於服務器範圍(適用於所有站點)。然後Machine.config是適當的位置。 – 2012-12-31 12:14:50

+0

「,除非你想讓這些設置適用於整個服務器(對於所有的站點),然後Machine.config是合適的位置。」 - 我仍然認爲把它放在每個站點的web.config中會更好。然後這些網站是獨立的,您可以將它們移動到不同的服務器,而不必考慮爲什麼他們突然停止工作。 – Joe 2013-05-14 17:21:52

相關問題