Network issues are a common problem that can affect connectivity and speed. This guide provides insights on how to manually investigate these issues and gather the necessary information to expedite the resolution process.
Manual Checks
Identify the Origin
First, determine if the problem is local, server-related, or somewhere between your location and the server. Use the tracepath command:
These commands essentially show the route used to travel from your location to the server or vice versa. They provide the delay (in milliseconds) from the source to each point along the route. Below is an example of the tracepath command and its results:
In the results, you may notice a significant increase in milliseconds from the 7th to the 8th hop. This could indicate a few things: there might be a long distance between these hops, or the server/router at the 8th hop might be experiencing high load or other issues, causing delays. This could be a temporary problem due to hardware issues at the 8th hop, or it could be a permanent issue due to the long distance between the 7th and 8th hops. However, this specific issue is typically beyond the control of a user or hosting provider, as it likely involves a middle point managed by a third-party Internet Service Provider (ISP).
Tracepath Manual: tracepath.8
Using MTR
The "mtr" command, which should be installed on your servers, provides detailed route information, including packet loss and ping statistics:
We provide the tests results below, so that we can comment and explain more on the command itself:
This test provides you with the full route and the specific points that packets pass through when traveling from a server to your location (or vice versa). It also shows the percentage of packet loss and the ping times (last, average, best, worst). While performing the test, packets are constantly sent, allowing you to observe how the information changes in real-time—whether the pings increase, decrease, or stay the same.
The StDev column indicates the standard deviation of the latency to each host. A higher standard deviation means greater variation in latency measurements. This test helps you determine if the connection is stable; stable connections will have consistent ping times, while fluctuating ping times may indicate instability. Additionally, it helps identify the specific points where ping times are higher or where packet loss occurs, indicating potential origins of the network issue.
This test provides a wealth of useful information, making it quite informative and valuable for resolving similar issues.
MTR Manual: mtr
Let's move on to the next test, which we find quite useful and effective for determining if network issues are server-related: iperf3. This tool is very simple to use and can help eliminate some potential causes of network issues. We have an article that provides detailed instructions on how to perform this test
Below ir an example of results of this test:
As shown, the iperf3 test is conducted within our servers to verify that network connections and speeds are functioning properly. The results indicate that everything is operating normally, suggesting that our network and servers are not experiencing issues. This test helps confirm that any network problems are likely due to factors on your end or issues along the route between your location and the server.
Testing Network Speed with iperf3
The iperf3 tool helps determine if network issues are server-related. We have a detailed article on performing this test:
iPerf3 Article: Testing Network Speed with iPerf3
Results from iperf3 can confirm if the server’s network connection and speed are adequate. If the test shows good results, the issue may lie elsewhere, such as on your side or along the route.
iperf3 Manual: iperf3.1
Speedtest-CLI
Another useful tool is speedtest-cli, which checks your network's download and upload speeds. You can download and run it as follows:
Speedtest-CLI: speedtest-cli
Also, below we provide the results of our example test or give you an idea what to expect:
We performed the default test, which uses the nearest server to measure download and upload speeds. However, there are additional options available, allowing you to test with servers from other locations. While this test provides information on your network speed, it should be interpreted with caution. It gives a general idea of whether your network speed meets specific requirements, but results may vary.
Other Factors
In addition to the tests mentioned, there are several other factors to consider when troubleshooting network issues:
Server Load: The overall load on the server can impact network performance. When downloading files, the server writes data to disk, and a heavily loaded server might experience slower write speeds, which can make the network appear slower. Use commands like top to monitor active services and server load.
Background Services: Check for any other network-intensive services running in the background, such as torrents or other downloads. These can affect the speed of new connections you initiate.
Ping Reliability: Many users start by pinging the server to check connectivity. However, if the remote server has ping responses disabled, you might receive "no connection" errors even if the server is functioning correctly. Therefore, relying solely on ping results may not be reliable. It’s better to use additional methods to assess connectivity.
Using wget: Commands like "wget" can help determine network speed. It’s a simpler alternative to speedtest tools since it doesn’t require installation—just use a link to download a file and check the speed.
Note: When opening a support ticket, include the results of these tests along with your local IP address. This will help expedite the double-checking and investigation process.