Monday, September 27, 2010

Windows 7 Optimization – Remove Unnecessary Network Services

Roughly 1 year ago Microsoft released Windows 7 to the retail world and it has definitely been received as a significant improvement over its predecessor Vista. Many of the organizations that took a pass on Vista to stay with XP are starting to give Windows 7 a serious look for its use as their workstation OS platform going forward. As a result, we thought that we should take a look at ways to improve overall system performance within the Windows 7 environment.

Windows 7, like its predecessors, includes a number of features that are really intended on either setting you up for a future that has not yet arrived or are background processes meant to try and anticipate what you will need in the future to try to improve perceived performance. While these features are intended to improve the overall user experience, in many cases they simply end up consuming valuable CPU cycles or memory lowering overall performance. This occurs because these features must actively be used in order for them to contribute to your environment and many that are enabled by default simply are not used by many organizations.
One area that includes a number of examples is the network services that are installed by default. Included by default is support for the IPv6 protocol, Quality of Service for the workstation, and 2 topology services to help users find other systems on the network; none of which will likely perform any significant functionality in your environment. I am not saying these are not valuable services, but they need to be used in the proper context and environment in order to provide value to the organization. Let's take a look at them one by one, so one can make an informed decision as to whether these should be included in your default Windows 7 deployment image.

IPv6 Support

Enabled by default is the IPv6 protocol stack. Don't confuse this for standard TCP/IP, which has become the standard network protocol for most organizations, the Internet, etc. That protocol is formally known as IPv4, and it is enabled by default as well. IPv6 is intended as a long-term replacement for IPv4 due to its increased number of available addresses and other improvements. The point is, if you haven't specifically set your LAN/WAN environment up for IPv6, why enable it? Even if you had, there would then not be a need for IPv4. The two should only both need to be enabled on the same machine during a short transition period.
Bottom line if you are not using IPv6 today, disable it on the workstation image. Otherwise, you are forcing the machine to maintain a protocol stack it will not be using, which will force DHCP requests to take longer to resolve because the network layer needs to ask for both addresses forcing the system to wait for the IPv6 stack to timeout before resuming normal network operations.

QoS Packet Scheduler

Quality of Service and its little brother Class of Service, both fill a very important role in shaping network traffic in a finite bandwidth world. These are 2 very important technologies that help ensure that traffic on bandwidth capped lines such as those used in Wide Area Networks are used to their fullest by giving priority to applications that need real-time performance and lowering the priority of less business critical applications such as web surfing. That being said, is it really necessary to shape the traffic leaving a workstation?
Workstations are typically placed on high-speed gigabit subnets (or potentially 100Mbps in locations with older gear) with good connectivity to all other subnets on the LAN. Running the QoS scheduler forces the network subsystem to constantly check whether or not there is some other application running on the workstation that has a higher priority request for the network, lowering overall throughput and forcing a more memory and CPU intensive queue handler to be used.
Bottom line, if your network is congested to the point this technology would really make a difference, your time and money would probably be much better spent improving your local switch gear than managing the QoS policy for your workstations.

Link Layer Topology Services

The default network configuration also includes to network services: the Link-Layer Topology Discovery Mapper I/O Driver and the Link-Layer Topology Discovery Responder. These 2 services together are responsible for finding other systems on the network; the resources that they provide such as file and print shares or presence of a web server; and displying them on the network diagram view. In a lot of ways they are the next version of the computer browser service. In nearly every environment that I have ever been in, all of the resources that a user should have access to are provided by the login script or some other similar means. These services have no role or effect on a user's ability to find AD published printers or shares. As a result, these services then just end up adding network traffic to the environment that only helps users find things they shouldn't be looking for.


As I mentioned earlier, it is not that I don't think that these services are without merit and cannot be useful in the proper environment; I am only questioning whether or not they really should be enabled by default in your organizations base image. If you think I am missing the boat, please leave a comment explaining your point of view. It's not like I haven't been wrong before; just ask my wife… ;)

No comments:

Post a Comment