I found that a 5 server MOSS07 farm was very sluggish in terms of windows explorer view performance compared to a single farm running on a vmware box. This seemed on the surface to make no sense, but some further digging uncovered the issue. I was using a host header and the site name was not the same name as the server itself. However in my VMware farm, the server and site names were the same.
My WFE server was WEBSERVER1
My Web site was MYWEBSITE
The problem as it turns out is with Windows Server 2003, SMB, and strict name checking.
XP Clients, will by default, use the SMB redirector before using the WebDav redirector. But by default, Windows Server 2003 does not respond to SMB queries that use a server name other than the server’s true NetBIOS name or FQDN. If this is attempted, the server will respond with a STATUS_DUPLICATE_NAME error that looks like this in a Network Monitor trace:
SMB: C session setup & X
SMB: R session setup & X
SMB: C tree connect & X, Share = \\WWW.ADATUM.COM\IPC$
SMB: R tree connect & X – NT error, System, Error, Code = (189) STATUS_DUPLICATE_NAME
Because of the robust nature of the Microsoft SMB implementation, the client will attempt this connection many more times before failing. This can cause significant delays in rendering of the Explorer View.
We can force the server to respond to SMB requests regardless of the server name being used and thereby improving the performance of the SMB portion of the Explorer View protocol negotiation. While this will not result in a successful SMB connection being created, it will result in failing over to WebDAV much faster.
KB article 281308, “Connecting to SMB share on a Windows 2000-based computer or a Windows Server 2003-based computer may not work with an alias name” describes how to use the DisableStrictNameChecking registry key to resolve this problem.
As per the KB article http://support.microsoft.com/kb/281308 I changed the registry key on the affected server.
Start Registry Editor (Regedt32.exe).
- Locate and click the following key in the registry: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
- On the Edit menu, click Add Value, and then add the following registry value:
- Value name: DisableStrictNameChecking
- Data type: REG_DWORD
- Radix: Decimal
- Value: 1
- Quit Registry Editor.
- Restart your computer.