Imagine that you are the network administrator for an organization and you notice that the Internet connection has suddenly “slowed down” and browsing has become frustrating. The CEO, not able to take it anymore, asks the IT manager to fix the issue. This is then passed over to your desk and you decide you need some form of performance assessment of your network. The question you now face is: “How do I go about it?”

This is actually a very valid scenario, especially when the organization feels like the capacity it is supposed to be getting from its ISP is not being reflected in the performance of its network. In this article, we will discuss some factors you should consider and steps you can take to perform such an assessment. We will also highlight certain tools that will be useful for such a task.

Step 1: Highlight Possible Factors

The first thing you want to do is brainstorm (and research) on potential factors that may affect the performance of a network. On the list is a virus infection or worm outbreak that may be consuming bandwidth or hogging the network resources. Another factor could be over-utilized network devices. Perhaps your network devices are being bogged down because the size of the network has increased over time, or it could be that one device (or several) is causing a bottleneck on the network. Another option is that your Internet service provider (ISP) is not keeping to the service level agreement (SLA) you have with them.

We have only mentioned three possible issues, but you may want to research on more. Remember that, at this point, you are only speculating, so you should keep an open mind.

Step 2: Testing and Troubleshooting

After step 1, you should have a list of possible issues to work through. You will now be carrying out tests to either validate or cross out those issues. There are different ways you can go about this step and various tests you can perform, but I will just streamline using the factors we highlighted above.

Device inventory

I will first take an inventory of the network devices so that I can use datasheets provided by the manufacturers to ascertain their capacity. You also want to check that network components (devices, interfaces, etc.) are operating under recommended settings. For example, imagine that there was a recent upgrade on the Internet (bandwidth) capacity from 75Mbps to 150Mbps. A fast Ethernet interface may have been able to handle the 75Mbps but it certainly cannot handle 150Mbps because the maximum capacity of a Fast Ethernet interface is 100Mbps and even that is theoretical.

Verify capacity provided by ISP

If your ISP says it is providing you with 150Mbps, then you should confirm that they are keeping to their end of the deal. This is because, if your ISP is not providing the capacity required to appropriately handle your network traffic, then there will definitely be performance hits: 100 cars trying to pass through a two-lane road will be slower than the same 100 cars passing through a five-lane road.

There are several ways to measure the capacity being provided to you by your ISP, but one way that we will talk about here is an online speed test. Although there are objections to the accuracy of these tests, I have had good experience with www.speedtest.net. Just navigate to the URL, select a server to use (or let the site automatically pick the best server) and click on Begin Test.

There are a few things to consider when using online speed test. One is that performing an online speed test over a wired connection is preferred to performing it over a wireless connection. This is because wired connections suffer fewer disturbances than wireless connections, which may be affected by factors such as distance from access point, obstacles such as walls, microwaves, and so on. Another point to note is that the computer from which the test is being performed should be the only device sending traffic on the network at that time. This is why tests may be more accurate during off-peak periods versus peak-periods of the network. Finally, proxy servers may skew your test results, so try to perform these tests without going through a proxy.

Determine if bottleneck exists on network

The first step to discovering if a bottleneck exists on the network is to determine the path of traffic from your internal network to the Internet; for example, LAN switch à Core Switch à Firewall à Internet router. After this has been done, you should now perform speed tests from those different points. So, using our example, you will connect your test PC to the LAN switch and test from there and then you move on to the core switch and continue till you get to the last device in the path.

Of course, there will be increases in speed as you pass from one device to the other moving closer to the Internet, but this should be minimal. What you want to watch out for is high degradation of performance such as a drop from 50Mbps to 15Mbps. Keep in mind that you may have to do this over a period of time because device performance will vary at different times of the day e.g. peak periods versus off-peak periods.

Test network performance

Your Internet connection may be fine but, if the network itself is faulty, then you will still have performance issues. Testing the performance of the network may also help you identify if there is a worm outbreak consuming bandwidth/resources on the network.

One of the tools that I have used to test network performance in terms of throughput, packet loss, and jitter is Iperf. Iperf operates in a client-server model, so you must have at least two systems to test, one running as a client and the other running as a server. When I say “server,” I don’t mean a server operating system like Windows server 2008; it just means that the system acting as the server will be listening for requests from the client.

It is quite simple to run Iperf. You begin by running it on the server, using the following command in a terminal:

iperf –s

The “-s” switch specifies the server. On the client system you issue the following command in your terminal:

iperf –c <server_ip>

The “-c” switch specifies that this is the client. In the screenshots below, you can see that I am using a Windows system as the Iperf server and a Linux server as the client. The throughput is about 95.6Mbps, which is pretty good for a theoretical 100Mbps network (I’m using virtual machines).

You can refer to this article to see how to install Iperf on both Windows and Linux operating systems. Iperf can be used for more than throughput measurement; you can take a look at this article for more insight into Iperf.

Step 3: Fixing and/or Recommendations

This is the final step in your network performance assessment. Your tests in step 2 should have yielded some findings as to what is causing the network performance degradation. Possible fixes may be to isolate an infected system or to change a bad interface. Also be aware that some fixes cannot be done immediately and you should highlight such as recommendations. For example, you may discover that the network has outgrown the capacity of the Internet router and that router needs to be replaced with a higher-capacity router. If a higher-end router is not available, then you should recommend placing an order for one.

Summary

In this article, we have discussed how to assess the performance of a network. It may seem overwhelming at first and you wonder where to begin but I hope this article sets you on the right path even though this article is in no way exhaustive.

Have you ever performed a network performance assessment? Tell us how you went about it in the comments section.

Further Reading