Question

I need to do some performance tuning and need to modify the following settings: processModel, httpRuntime, and connectionManagement. Simple enough I suppose, but I'm not sure which of the two machine.config files to edit, or do I edit both?

  • \Windows\microsoft.net\ Framework \v2.0.50727\CONFIG\machine.config
  • \Windows\microsoft.net\ Framework64 \v2.0.50727\CONFIG\machine.config

As a follow up question, how do I verify that the settings have been applied?

I should mention that the server is running Windows Server 2003 Enterprise (64-bit) with IIS 6.0 (64-bit) and MSSQL Server Enterprise 2005 (64-bit).

Thanks for the help in advance!

Was it helpful?

Solution

The one located in Framework64 is being used if your .net application/IIS is running in 64 bit mode. The other is used if running in 32 bit mode.

When bringing up the Windows Task Manager, if there's "*32" appended to the process name, then it runs in 32 bit. If not it runs under 64 bit.

If your OS is 64bit that is, something I assume since you have both folders on your machine.

If you are using IIS6/7, the process is named w3wp.exe.

IIS7 has more settings for this as well which can be read at this blog post.

OTHER TIPS

Personally I would edit neither, but instead modify the web.config files at site or application level.

You should be able to modify httpRuntime and connectionManagement settings in this way, but not processModel, which can only be used in machine.config.

However you may not need to modify processModel if you are on Windows Server 2003.

As others have pointed out, if you do want to modify machine.config, IIS6 will run in 64-bit mode by default, so that's the version to edit. If you need to run in 32-bit mode (e.g. because you need to use 32-bit native DLLs), you can configure 32-bit mode as follows:

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

See this TechNet article for more info.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top