Network-related issues are a common challenge in our field, and at some point, everyone encounters problems with connectivity or speed. This article offers insights on how to manually investigate these issues and what information is necessary for us to diagnose and resolve the problem efficiently.
Manual Check
When you experience a network issue, the first step is to determine its origin. Ask yourself if the problem is local, on the server, or somewhere in between. To diagnose this, you can use the tracepath command:

This command shows the route from your location to the server and measures the delay (in milliseconds) at each point along the route. For example:
If you notice a significant increase in delay between the 7th and 8th hop, it may indicate a long distance between these points or high load or issues at the 8th hop. This problem is often due to the middle point being managed by a third-party Internet Service Provider (ISP), and thus not directly fixable by users or hosting providers.

For more information, refer to the tracepath manual: tracepath manual
Another useful command is mtr, which you may need to install on your servers:

We provide the tests results below, so that we can comment and explain more on the command itself:

This test provides the complete route and details on packet loss and latency. It continuously sends packets, allowing you to observe changes in latency and packet loss over time. High standard deviation in latency indicates instability, while spikes in latency or packet loss pinpoint where issues might be occurring.
For more details, consult the mtr manual: mtr manual
Next, we have iperf3, a straightforward tool to test network speed and identify server-related issues. We have an article on how to perform this test: [Testing Network Speed with iperf3](https://Testing network speed with iperf3(PS)
An example of iperf3 results:

These results, obtained within our servers, confirm if there are network issues. If the results are satisfactory, you can look elsewhere, such as your side or the route between your location and the server.
Refer to the iperf3 manual for more details: iperf3 manual
Another tool is speedtest-cli. You can download and run it from: speedtest-cli GitHub
Also, below we provide the results of our example test or give you an idea what to expect:

The default test measures download and upload speeds with the nearest server, but you can choose servers from other locations for more specific results. This test provides a snapshot of your network speed but might not always be conclusive.
Other Factors
In addition to these tests, consider the following factors when troubleshooting network issues:
Server Load: A high server load can slow down file writing and make network speeds appear slower. Use commands like top to monitor active services.
Background Services: Ensure there are no background processes, such as torrents or other downloads, that might be consuming bandwidth.
Ping Limitations: Ping results might not always be reliable, as remote servers may have ping disabled. Avoid relying solely on ping results.
Alternative Tools: Commands like wget can also be used to check network speed by downloading a file and measuring the speed.
When opening a support ticket, providing results from these tests along with your local IP address will help us investigate and resolve the issue more quickly.