The first problem was a marked decrease in file transfer speed when the client backed up large files from his machine to a Windows 7 machine they used as a file server. After performing the following tasks on the 2 relevant machines
- Update drivers
- Remove unnecessary Protocols eg IPv6
- Remove Virtual Adapters.
I checked the networked adapter settings and found the
Speed & Duplex setting had been changed from Auto to 100 and therefore they were not connecting to their server at GigaBit speed. I also made the following changes
- Enable a 9k Jumbo Frame on
- DISABLE LARGE SEND OFFLOAD
and the transfer problem was resolved. What previously took one half hour was transferred in seconds.
The other problem was that Network Discovery was consistently failing and that all or most of their available shares were disappearing.
The client had 5 to 6 windows 7 machines with each machine having anywhere from 4 to 6 shares each which were used occasionally. However they had one PC running Windows 7 Pro which they used as a Server and which had 8 shares which were used consistently to store MYOB data, documents , graphics files etc.
Windows 7 file sharing requires one PC be the Master Browser so that all Network Discovery of available shares and PC’s occurs on the Master Browser. Which PC becomes the master browser is determined by an election process that occurs at startup.
I isolated which machines that could be the Master Browser by setting the registry key
- \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Browser\Parameters\isDomainMaster to True
on the server PC. I disabled all of the other PC’s from becoming a Master Browser except for one by setting the registry key
- \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Browser\Parameters\MaintainServerList to NO
I left the client to work in the hope we could more easily identify the problem should it arise again which of course it did. When Network Discovery failed again I could now at least identify that the problem was on the Master Browser.
As Network Discovery relies on the following services
- DNS Client
- Function Discovery Resource Publication
- SSDP Discovery, and
- UPnP Device Host services
And that the following ports need to be open
- DNS Client requires port 53 be open
- SSDP uses 1900
- UPnP uses 5000
I dropped the firewall on the server and gave the client a tool called lanclient which conveniently lists all the PC’s with shares in a workgroup and which machine is the master browser.
When Network Discovery failed again it was clear there was an error on the Server as running the LanClient program produced no results.
After obtaining remote access from the client to the Server PC it was clear from the event logs that there was a recurrent error on this machine
- The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.
The above error had been occurring nearly daily and was the cause of the discovery problem. The fix in this case is changes to the following registry keys.
Set the following registry key to 1.
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
and set the following registry key to 3.
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size