Diagnosing network performance issues is part of your daily work. Whatever the network diagnostic tools you use, it is important to understand what are the symptoms of network performance degradations and what are the most likely root causes for them.
Accelerating troubleshooting operations is key to maintaining business productivity through excellent end-to-end user performance rates.
Symptoms of performance degradations
How can you notice that the network performance is degraded?You may use a variety of tools to run your performance troubleshooting (from network monitoring tools using SNMP polling platforms to packet analyzers such as Wireshark). Here are the 4 main symptoms that you may encounter:
- Slowdown
- Either your monitoring tools are reporting an increase in network latency (either through ICMP testing like Pings or by measuring TCP connection times) or your users for a given network location report a network slowdown
- Disconnections
- You notice that some clients get disconnected from the applications or the network. They can reconnect afterwards.
- Outage
- The network services and/or the applications become unavailable for some users at a given point in time.
- End-user complaints
- You get reports from the helpdesk that users are complaining about slow response times, but they do not provide enough details to identify the scope of the slowdown (i.e., when? which application(s)? for which transaction(s)? etc…).
What are the most likely root causes of network performance degradations?
This list is the starting point of your network performance checklist with all the potential causes you should eliminate or validate to identify the root cause of your network trouble.
Hardware failure
A cable has a defect on the client-end, server-end, cable patching level (as a simple example, due to the patch cable density, a cable disconnects under the weight of others, generating untimely disconnections for a given server).
Network switch configuration
A defective configuration induces packet loss, like bad interface negotiation, physical errors, etc..
Network loop
To learn how to identify a network loop, follow me!
Bandwidth congestion
The quantity of data sent to/from a given destination exceeds the network capacity; this can be generated by business applications, as well as unwanted usage (such as web-browsing, backups/updates outside of the normal time-window, etc…).
Network latency increase
The time which is necessary to send the packets through the network has increased due to a change in the route/path or a defective network device.
Shaping / Optimization / Filtering device
Applying QoS settings slowing down the transfer or the network capacity which is available for a given application or simply resetting/blocking connections.
There may be also other causes which are not network-related such as:
Host resource outage
On the client or server side: disconnections due to resource outage or reducing the data transfer speed (As an example, a client or server, who runs out of system resources, is sending out “O-Windows” to slow down the transfer; you can read more about this here)
Application server processing time
Your server takes too long to respond either to all requests or only certain requests. It is very easy to detect this, click here to know how!
Quantity of data
Sent and received by the application is large and takes too much time to transfer through the network (as an example, this may be due to a configuration or an application with a defect which sends an excessive data set to a client. Here is a concrete case presenting a diagnostic for such a performance degradation: 7 easy steps to troubleshoot the performance of a database-driven application.
Name Resolution Service
Your DNS server may respond too slow or your client may first request to a wrong server before querying the right one, etc… If you would like to learn everything you must about DNS and performance, you must read this article!
Authentication service
Your authentication server is responding too slow.
Application errors
Your application is generating errors for certain requests on the front-end or back-end servers. Tracking application transactions from the network traffic can be easy; to discover how you can do that: read this paper.