ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Network & IP

Server Network Speed Test and Traceroute Guide: mtr, traceroute, iperf3 and speedtest-cli

6 steps 8 min read 5 views 0
On this page

When a server feels slow, drops packets or shows high latency, "it feels laggy" is not enough to find the cause. This guide covers essential server network speed test and traceroute tools: mtr and traceroute to inspect the path and packet loss, iperf3 and speedtest-cli to measure bandwidth, and how to package the results for technical support. It applies to Linux (Debian/Ubuntu, CentOS/Rocky/AlmaLinux) and Windows.

Step 1: Install Speed Test and Traceroute Tools

Debian / Ubuntu:

apt update
apt install -y mtr-tiny traceroute iperf3 speedtest-cli

CentOS / Rocky / AlmaLinux (speedtest-cli via pip):

dnf install -y mtr traceroute iperf3 python3-pip
pip3 install speedtest-cli

On CentOS 7 use yum instead of dnf.

Step 2: Trace the Route and Detect Packet Loss with mtr

mtr combines ping and traceroute, continuously probing every hop and reporting loss and latency. It is the most useful tool for route troubleshooting.

mtr -rwzbc 100 8.8.8.8

Flags: -r report mode, -w wide output, -z show ASN, -b show both IPs and hostnames, -c 100 send 100 probes. If the target blocks ICMP, probe over TCP instead:

mtr -rwc 100 -T -P 443 www.example.com
Focus on the last hop. Loss on an intermediate hop that does not continue to later hops is usually just ICMP rate-limiting on that router, not real packet loss.

Step 3: View the Path with traceroute / tracert

traceroute -n 8.8.8.8
traceroute -n -T -p 80 www.example.com

On a local Windows PC, use the built-in commands (-d skips name resolution). pathping adds per-hop loss statistics similar to mtr:

tracert -d 203.0.113.10
pathping -n 203.0.113.10

Step 4: Measure Bandwidth Between Two Hosts with iperf3

iperf3 measures throughput between two endpoints precisely, independent of public test nodes. Start the server side on your server:

iperf3 -s

Connect from another machine as the client (-P 4 uses four parallel streams, -R tests the reverse direction):

iperf3 -c 203.0.113.10 -P 4 -t 30
iperf3 -c 203.0.113.10 -P 4 -t 30 -R

iperf3 listens on TCP port 5201 by default; open it in the firewall and stop the server with Ctrl+C when done.

Step 5: Test Outbound Bandwidth with speedtest-cli

speedtest-cli --secure
speedtest-cli --list | head -n 20
speedtest-cli --secure --server 12345

--list shows nearby servers; pass an ID with --server. Results depend heavily on node load, so test several nodes.

Step 6: Send the Results to Technical Support

To help support pinpoint the issue, provide data in both directions: mtr (or WinMTR / pathping) from your local machine to the server, and mtr from the server back to your local public IP. Save the output as text:

mtr -rwzbc 100 YOUR_LOCAL_PUBLIC_IP > mtr-from-server.txt

Include in the ticket: server IP, your local public IP and ISP, the time window of the problem, and the text output of the tests (text rather than screenshots where possible).

FAQ

Is 100% loss on one middle hop in mtr a problem?

If the final destination shows no loss, intermediate loss usually means that router ignores probes. Only loss that starts at a hop and continues to the destination indicates a real issue.

speedtest shows less bandwidth than I purchased.

Public test nodes may be congested or capped. Use iperf3 between two known-good machines and test at different times.

It only slows down during peak hours. How do I troubleshoot?

Run mtr during the slow period and note the time, then submit it together with a result from a normal period so the congested hop can be compared.

Still stuck? Open a ticket with IMIDC 24/7 technical support and attach your test results.

Was this answer helpful?

Related Tutorials