How to Measure Network Performance, Correctly
Performance is one of the most important aspects of networks. In fact, it is an important component of pretty much any system. Any network administrator knows how everyone is quick to blame the network whenever the performance of any type of network-attached device or system leaves to be desired. When that happens, it is often up to the network administrator to prove that the network is performing within specs and that the source of the performance degradation originates somewhere else.
How is it done, you may ask? Simply by measuring performance using industry-standard technologies. Today, we’re having a look at how to measure network performance.
We’ll begin by discussing network performance in general. If we’re to talk about measuring something, we certainly need to first agree on what it is that we’re trying to measure. This will bring us to our next topic—the most important one: how to measure network performance. Although there are several ways this can be done, the Simple Network Management Protocol (SNMP) is likely the most-used technology for measuring the performance of networks. So, we’ll have an in-depth look at SNMP. And last but certainly not least, we’ll have a look at some of the best tools which are currently available for measuring network performance.
About Network Performance
As eloquently defined in once sentence on Wikipedia, “network performance refers to measures of service quality of a network as seen by the customer”. There are three essential elements to that definition. The first is the “measures” part. It establishes clearly that network performance is something that has to be measured. The next important bit is the “service quality of a network”. Service quality is a generic concept but, as you’ll see, a few specific metrics are typically associated with it. The last important part of that definition is “the customer”. We’re not interested in network performance as a theoretical thing but instead at how users perceive it.
Several different factors affect perceived network performance and are generally considered important. The first two are bandwidth and throughput. There can sometimes be some confusion between these two terms. Bandwidth refers to the carrying capacity of a network. As an analogy, think of it as the number of lanes on a highway. Throughput, on the other hand, refers to the actual usage of the available bandwidth. To keep our previous analogy, think of a four-lane highway that has a bandwidth of 4 000 vehicles per hour but its current throughput is 400 vehicles per hour or 10% of its capacity.
Latency, delay, and jitter are more factor affecting the perceived performance of networks. Latency refers to the time data takes to travel from source to destination. It is mainly a function of the signal’s travel time and processing time at any nodes it traverses. It is a physical limitation that cannot be reduced. Delay, on the other hand, can sometimes be improved. It has to do with the time it takes for networking equipment to process, queue, and forward data. Faster, more powerful equipment will generally add less delay to the transmission. As for jitter, it refers to the variation in packet delay at the receiving end of the conversation. Real-time or near-real-time traffic is particularly affected by it as it can cause data packets to arrive out of sequence. In the case of voice over IP, for example, this could result in unintelligible speech.
Many other factors can also affect network performance. The error rate is one of them. It refers to the number of corrupted bits expressed as a percentage or fraction of the total sent.
Measuring Network Performance
How does one go about measuring performance from a true user’s perspective? Well, there is, of course, the possibility of having real users running tests but this can tend to be rather impractical. The next best thing is using a network performance testing system that uses probes deployed at strategic locations throughout your network and that can run actual simulation tests between each other to measure true performance using specific types of traffic. This, however, can also tend to be impractical as it requires some preliminary setup. It won’t be of much assistance to help troubleshoot a sudden issue.
A simpler SNMP-based network monitoring system is often a better solution. While it may not be as practical, it can give administrators a rather clear view of the network’s utilization. Good systems will also report on most perfromance-affecting factors such as latency, delay, jitter and errors.
ALSO READ: 6 Best Network Management Tools that Track Performance
The Simple Network Management Protocol
Despite its misleading name, the Simple Network Management Protocol, or SNMP, can turn out to be rather complex. Fortunately, you don’t have to be an expert and know all about it to use it. At its base, SNMP is a communication protocol that specifies how an SNMP management system can read and write operational parameters in remote devices. The parameters are referred to as OIDs—for Object Identifiers. Some of the interesting OIDs, from a monitoring standpoint, are those that contain critical metrics such as bandwidth utilization, for example. When monitoring networking devices, two OIDs are of particular interest, the bytes out and the bytes in counters associated with each interface. These counters are automatically incremented by the network devices as data is output and input.
Dating back to a time when IT security was not an issue, SNMP only has minimal security. An SNMP manager connecting to an SNMP-enabled device will transmit a “community string” with its request. If the string matches that configured in the equipment, the request will be carried out. Devices typically have two community strings configured, one for read-only OIDs and one for modifiable ones.
Here’s how most monitoring systems use SNMP to monitor bandwidth utilization. They periodically read the bytes in and out counters of a networking device’s interfaces at know intervals, with five minutes being a typical value. They then store the fetched values in some sort of database or disk file. The rest of the process is simple maths. The monitoring system subtracts the previous counter value from the current one to get the number of bytes transmitted or received in five minutes. It can then multiply that number by eight to get the number of bits and divide it by 300–the number of seconds in five minutes–to get the number of bits per second. This information is typically plotted on a graph showing its evolution in time and stored in a database.
The Top Tools To Measure Network Performance
1. SolarWinds Network Performance Monitor
SolarWinds enjoys a solid reputation for making some of the best network and system administration tools. Many of the company’s products have received rave reviews and are considered among the very best in their respective fields. But SolarWinds is also famous for its free tools, smaller tools which address a specific need of network administrators. Two good examples of those free tools are the Real-time Bandwidth Monitor and the Kiwi Syslog Server.
For monitoring networks, though, what you need is the SolarWinds Network Performance Monitor (NPM), which is primarily an SNMP monitoring tool. At its core, it offers comprehensive fault monitoring and performance management using SNMP and it is thereby compatible with most equipment. It also comes with many advanced features such as its NetPath feature lets you view the critical network path between any two monitored points on your network. It can also automatically generate intelligent network maps.
Other features of the NPM include advanced alerting and the tool’s PerfStack performance analysis dashboard. The Network Insights functionality is another advanced feature which allows for complex device monitoring. The tool can monitor Software Defined Networks (SDN) and has built-in Cisco ACI support as well the ability to monitor wireless networks and to generate network performance baselines. The SolarWinds Network Performance Monitor is a highly scalable tool that can be used on any network from the smallest to the largest.
The SolarWinds Network Performance Monitor’s pricing structure is quite simple. Licensing is based on the number of monitored elements. Five licensing tiers are available for 100, 250, 500, 2000, and unlimited elements at prices ranging from $2 955 to $32 525, including the first year of maintenance.
If you’d rather give the tool a test run before committing to a purchase, a free 30-day trial version can be obtained.
2. PRTG Network Monitor
The PRTG Network Monitor from Paessler AG is an agentless network monitoring system. Paessler claims that the PRTG Network Monitor can be set up in a couple of minutes. Our experience shows that it can take a bit more than that but that it is still very easy and quick, thanks to an auto-discovery feature that will scan your network, find devices, and automatically add them. The tool uses a combination of Ping, SNMP, WMI, NetFlow, jFlow, sFlow, but can also communicate via DICOM or the RESTful API.
One of the strengths of the PRTG Network Monitor is its sensor-based architecture. You can think of sensors as add-ons to the product except that they are already included and don’t need to be added. There are add-ons for virtually anything. For example, there are HTTP, SMTP/POP3 (e-mail) application sensors. There are also hardware-specific sensors for switches, routers, and servers. In all, there are over 200 different predefined sensors that retrieve statistics such as response time, processor, memory, database information, temperature or system status from the monitored devices.
The PRTG Network Monitor offers a selection of user interfaces. The primary one is an Ajax-based web interface. There’s also a Windows enterprise console as well as mobile apps for Android and iOS. One nice feature of the mobile apps is that they can use push notification of any alerts triggered from within PRTG. More standard SMS or email notifications are also available. Although the server only runs on Windows, it can be administered from any device with an Ajax-compatible browser.
The PRTG Network Monitor is offered in two versions. There’s a free version which is full-featured but will limit your monitoring ability to 100 sensors. Note that each monitored parameter counts as one sensor and, for example, monitor 24 interfaces on a network switch will use up 24 sensors. If you need more than 100 sensors, you must purchase a license. Their prices start at $1 600 for 500 sensors. You can also get a free, sensor-unlimited and full-featured 30-day trial version.
3. ManageEngine OpManager
The ManageEngine OpManager is a complete management solution that will address most monitoring needs. The tool can run on either Windows or Linux and it is loaded with excellent features. For instance, its auto-discovery feature can graphically map your network, giving you a uniquely customized dashboard.
The tool’s dashboard is another one of its strong points. It is super easy to use and navigate and has drill-down functionality. If you’re into mobile apps, they are available for tablets and smartphones and will allow you to access the system from anywhere. Overall, this is a very polished and professional product.
Alerting in OpManager is another of the product’s strengths. There is a full complement of threshold-based alerts that will help detect, identify, and troubleshoot network issues. Multiple thresholds with various notifications can be set for every performance metric.
If you want to try the ManageEngine OpManager, get the free version. It is not a time-limited trial version. It is, instead, feature-limited. It won’t, for instance, let you monitor more than ten devices. While this might be sufficient for testing purposes, it will only suit the smallest networks. For more devices, you can choose between the Essential or the Enterprise plans. The first will let you monitor up to 1 000 nodes while the other goes up to 10 000. Pricing information is available by contacting ManageEngine’s sales.
4. WhatsUp Gold
WhatsUp Gold is another well-known name in the field of monitoring tools. It used to be an up-or-down type of monitoring tool but it has evolved into a full management tool with proactive monitoring for network traffic, applications, virtual environments, and device configurations. Today, this tool has almost everything you can expect from an enterprise-grade monitoring tool, and it’s all available via a very intuitive GUI.
WhatsUp Gold features an auto-discovery engine that will find your devices and add them to the monitoring console. It will not only find your networking equipment but also physical servers, virtual servers, cloud servers, and applications. There’s even a map view that’s clickable for more information on each device.
WhatsUp Gold also has an excellent alerting system to let you know about problems before users notice them. Through the tool’s Alert Center, you can opt to use predefined thresholds or set them as per your specific needs. The alerting system lets you create action policies which define what happens when a monitored parameter changes state. Alerts can be transmitted by email, SMS, Slack, or IFTTT posts. The system can also restart services and trigger web alarms.
While a free edition of WhatsUp Gold is available, it is limited to monitoring a maximum of five devices. For more devices, paid licenses are available in three levels of increasing functionality with a pricing structure based on the number of devices to be monitored. There’s also a free, full-featured trial version that you can use for a limited time.
5. Observium
Observium is a low-maintenance monitoring platform with auto-discovery. It supports a wide range of device types, platforms and operating systems including, among others, Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, Brocade, Netscaler, NetApp. I doubt that you can find a WAN router that’s not supported. Observium’s primary focus is providing a beautiful, intuitive, and simple yet powerful user interface showing the health and status of your network.
Observium has more than just bandwidth monitoring. For instance, there’s an accounting system that will measure total monthly bandwidth usage in the 95th percentile or in total transferred bytes. It also has an alerting function with user-defined thresholds. Furthermore, Observium integrates with other systems and can pull their information and display it within its interface.
Observium users love how easy it is to set up and how it almost configures itself. Although there doesn’t appear to be a download section on Observium’s website, there are detailed installation instructions for several Linux distributions that do include the links to get the right package for each distribution. The instructions are very detailed and installing the software should be easy.
The product is available in two versions. There’s the Observium Community is which available for free to everyone. This version receives updates and new features twice a year. There’s also the Observium Professional which has additional features and comes with daily updates. Both versions only run on Linux.
6. Zabbix
Zabbix is another free and open-source product which has a highly professional look and feel, much like you’d expect from a commercial product. But the good looks of its user interface is not its only asset. The product also boasts an impressive feature set. It will monitor most network-attached devices in addition to networking equipment. It would be a good option if you want to monitor servers in addition to your WAN circuit’s bandwidth.
Zabbix uses SNMP as well as the Intelligent Platform Monitoring Interface (IMPI) for monitoring devices. You can use the software to monitor bandwidth, device CPU and memory utilization, general device health as well as configuration changes. As you can see, it does way more than simple WAN monitoring. The product also features an impressive and completely customizable alerting system. It will not only send email or SMS alerts but also run local scripts which could be used to fix some issues automatically.