Improving Network Performance in Windows Server and Client (Part 2)

by [Published on 8 July 2014 / Last Updated on 8 July 2014]

In this part 2, we’re going to dig a little deeper into configuration changes, third party tools you can use to enhance performance and technologies included in the Windows operating systems (including new ones in the latest versions of which you might not be aware) that are designed to help you optimize network performance.

If you would like to read the first part in this article series please go to Improving Network Performance in Windows Server and Client (Part 1).

Introduction

In Part 1 of this two-part series on how to improve the performance of your Windows based network, we discussed what network performance really means, the difference between actual and perceived performance and some of the possible causes of slow network performance, as well as a few tips for tweaking Windows software settings to help increase network performance.

Now in part 2, we’re going to dig a little deeper into configuration changes, tools you can use to enhance performance and technologies included in the Windows operating systems (including new ones in the latest versions of which you might not be aware) that are designed to help you optimize network performance.

Network-intensive tasks and applications

Improving perceived performance can sometimes be as simple as moving the schedule of tasks such as backing up user data over the network to times when it doesn’t compete for bandwidth with users who are trying to get work done. Automatic updates are another scheduled task that can slow everything else down if not scheduled during off-peak hours. Educate users to schedule non-rush network usage for times when bandwidth isn’t in short supply.

Also educate users regarding conservation of bandwidth. Like water and energy, network bandwidth is a finite resource and user awareness training can make employees stop and think before mailing out copies of a huge attachment to everyone on the team or running high-bandwidth applications that aren’t necessary to get the job done. Consider policies banning activities such as playing multi-user games over the network or Internet and watching streaming video from web sites or services such as Netflix during breaks and lunch hours, as this can slow down network performance for those users who are still working during that time.

Be aware, when deploying new applications, of the potential effect on the network’s performance. High bandwidth technologies such as video conferencing can use a large amount of network bandwidth and interfere with other applications and file transfers.

Unusually excessive usage of network bandwidth can also be due to the action of malware or even indications that some of your systems have been infected and turned into “zombies” for a botnet, so be sure to keep all systems patched and run anti-virus and anti-malware with up-to-date definitions on a regular basis. Monitor network usage and investigate any suspicious excesses.

Quality of Service (QoS)

There has been a lot of controversy in the news lately about the issue of Internet providers giving priority to certain types of network traffic. The big concern is that this practice will slow down other services. We’ll leave the pros and cons of net neutrality to more politically inclined venues, but the basic concept is something that companies can and do apply to their own internal networks to improve perceived network performance.

Quality of Service (QoS) technologies enable you to prioritize traffic to allocate more bandwidth for your most important applications or those that are most affected by latency and throttle those that are less important or less latency-sensitive. This type of bandwidth management, also called traffic shaping or packet shaping, makes it easy to block or throttle network activities normally used for personal use while ensuring that critical business applications get the bandwidth they need.

QoS can be configured on modern routers and switches, or it can be configured on the server. Microsoft introduced its implementation of QoS in Windows 2000, and all supported versions of Windows Server include QoS, which has evolved over the years.

Windows Server 2012/2012 R2 feature policy-based QoS that is integrated into Group Policy and provides bandwidth control based on applications, users and computers. You can throttle outbound traffic in a number of ways: sending application and directory path, source and destination IP address, source and destination ports and port ranges, by protocol (TCP or UDP), or according to specified groups of users or computers defined in Active Directory.

QoS policies allow you to specify DSCP values and throttle rates. Differentiated Services Code Point (DSCP) is a six-bit field in the IP packet that allows you to assign a level of service to the traffic. DSCP values can range between 0 and 63. The throttle rate lets you limit the sending rate of traffic and is specified in kilobytes or megabytes per second. There is a wizard to guide you through the process of creating your QoS policies. You can find more detailed information about Server 2012 QoS in this article elsewhere on this site.

With policy-based QoS, examples of prioritization you can easily apply include prioritizing a line-of-business (LoB) application or prioritizing an HTTP server application with URL based policies. You can find step-by-step instructions for both of these scenarios in the TechNet library here.

Background Intelligent Transfer Service (BITS)

Another thing that can cause a slowdown in perceived network performance is an overload of the network’s available bandwidth when large files are being transferred over the network in the background.

Currently supported versions of Windows include a technology called BITS that was first introduced with Windows XP. BITS can control the flow of file transfers and thus prevent interference with performance of other network applications. BITS is called “intelligent” because it can use the computer’s network card to monitor and measure the amount of network bandwidth that is available at a given time and then increase or reduce the transfer rate of files accordingly, to make best use of the bandwidth.

BITS can be used to set priority levels on file transfer jobs so that simultaneous transfers are ranked to ensure that the most important transfers are given preference over less important ones. Applications can assign one foreground level and three background priority levels. If two transfer jobs have the same priority level, they will share the transfer time that’s allocated for that level. BITS will schedule each job to use a particular time, then it is paused temporarily while the next job is allowed to transfer, and so on. Properties can be set for individual files but a download job can have multiple files (uploads are limited to a single file). BITS is used by Windows Update.

You can set bandwidth limitations on the transfer rate that BITS uses as well as times and days during which you want to limit the bandwidth, through Group Policy. This is done through the following Group Policy node:
Computer Configuration | Administrative Templates | Network | Background Intelligent Transfer Service (BITS)

Some of the configurable settings for BITS include:

  • Timeout for inactive BITS jobs
  • Limit the maximum network bandwidth for BITS background transfers
  • Set up a work schedule to limit the maximum network bandwidth used for BITS background transfers
  • Limit the maximum BITS job download time
  • Limit the maximum number of files allowed in a BITS job
  • Limit the maximum number of BITS jobs for this computer
  • Limit the maximum number of BITS jobs for each user
  • Limit the maximum number of ranges that can be added to the file in a BITS job

Third party packet shaping tools

If the mechanisms that are built into Windows aren’t sufficient for your purposes, there are a number of third party solutions that offer packet/traffic shaping capabilities. Some of these are software programs and others are packaged as network appliances. There are even cloud-based traffic shapers. Some examples include:

NetEqualizer is an appliance that can be used to identify the heaviest bandwidth users on the network, detect what traffic is going to those users and throttle the connections of those users who are using excessive bandwidth when necessary to reduce congestion of the network. It performs traffic shaping for both incoming and outgoing traffic and is easy to use as it doesn’t require building and managing policies.

Exinda Network Orchestrator is a software solution that is designed to analyze network traffic and optimize for best perceived performance, with visibility into how bandwidth is being consumed for each application and the ability to guarantee that the most important applications have the bandwidth available to perform at peak ability. Policies can be set to control which users and which applications can consume bandwidth on the network.

Cisco Meraki performs deep packet inspection to identify applications and enables you to pinpoint which applications are eating up more of your network bandwidth and apply application traffic shaping policies to control their usage, working with a cloud-based application signature database.

Summary

Network performance can mean the difference between a good user experience and a frustrating one, but actual bandwidth matters less than perceived performance. The good news is that there are things you can do to increase the perceived performance on your network. In this two-part article, we’ve looked at a few of those, to get you started on the road to making your network work at optimum efficiency.

If you would like to read the first part in this article series please go to Improving Network Performance in Windows Server and Client (Part 1).

Featured Links