How to measure response time and trace the route: ping, mtr, tracert
Contents
For an administrator or manager who wants to know how well a server in Europe will work from their office. You will measure response time and packet loss, run a trace in both directions, check the port you need and collect the data that helps support find the cause.
What you will need#
- An address to test. If you already have a server, it is the IP address support sent you. If you are still choosing a country, ask support for a test address in the location you need.
- A computer on the network people will work from. Ideally an office one, connected by cable. Test Wi-Fi and mobile internet separately: they add delay and loss of their own.
- Tools. Windows already has
ping,tracert,pathpingand PowerShell. Linux and macOS haveping;mtrhas to be installed from packages.
# Debian, Ubuntu
sudo apt install mtr-tiny
# AlmaLinux, Rocky Linux, RHEL
sudo dnf install mtr
# macOS (Homebrew)
brew install mtrIn the examples 203.0.113.10 is the server address and 198.51.100.25 is your office’s external address. These are example addresses; substitute your own.
Step 1 ping: response time and loss#
The four packets Windows sends by default are not enough. Send at least 50. On Windows (Command Prompt or PowerShell):
ping /n 50 203.0.113.10On Linux and macOS:
ping -c 50 203.0.113.10The summary on Windows (a localised system prints it in its own language):
Ping statistics for 203.0.113.10:
Packets: Sent = 50, Received = 50, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 14ms, Maximum = 21ms, Average = 15msOn Linux (on macOS the last line starts with round-trip min/avg/max/stddev):
50 packets transmitted, 50 received, 0% packet loss, time 49072ms
rtt min/avg/max/mdev = 14.412/15.238/21.067/1.104 ms| Metric | What it means |
|---|---|
min, Minimum | The best time; set by distance and route. Compare this one with our figures below. |
avg, Average | The typical time. On a healthy link it is close to the minimum. |
max, Maximum | The worst time. Occasional spikes are harmless; regular ones point to a congested link or Wi-Fi trouble. |
mdev (Linux), stddev (macOS) | The spread: the smaller, the steadier the link. Windows does not show it — judge by the gap between Minimum and Maximum. |
| packet loss, Lost | Loss. On a wired connection it should be 0%. |
To watch for longer, run ping /t 203.0.113.10 on Windows, or ping without -c on Linux and macOS. Press Ctrl+C to stop.
What to compare the result with#
| Direction | Response time |
|---|---|
| Kyiv to Poland (main location) | about 15 ms |
| Most Ukrainian cities to Poland | 15–25 ms |
| Kyiv to Germany | about 35 ms |
| Kyiv to France | about 40 ms |
| Kyiv to the United Kingdom | about 52 ms |
This is the minimum response time in our measurements from Ukrainian providers’ networks, October 2026. Your result depends on your provider and route; on mobile internet the response time is higher. Traffic from Ukraine to the other countries reaches Poland first.
What these numbers mean for work#
The thresholds in the table are a rule of thumb from practice, not a standard.
| Response time (rule of thumb) | Remote desktop |
|---|---|
| up to 30 ms | Feels almost like a local computer. |
| 30–60 ms | Comfortable; a slight lag shows during fast typing and scrolling. |
| 60–150 ms | Workable, but the lag is always noticeable. |
| over 150 ms | Uncomfortable for daily work. |
Stability matters more than a few milliseconds: a steady 40 ms beats 15 ms with spikes to 300 ms. At 1–2% loss (also a rule of thumb) the picture already stutters and input lags.
With an accounting database it matters where the client application runs. If users log in to the server over a remote desktop and both the application and the database are on it, only the screen image crosses the network, and the table above applies. If the application runs in the office and talks to a database in Europe, every action takes dozens or even hundreds of requests, and the delay multiplies. For illustration: 300 sequential requests at 15 ms each mean 4.5 s of waiting; at 40 ms each, 12 s. So keep the application next to the database, and do not open a file-based database over the internet as a network share.
Step 2 Trace to the server#
A trace shows the hops between you and the server and the response time of each.
Windows: tracert, pathping, WinMTR#
tracert /d 203.0.113.10
pathping /n 203.0.113.10tracert quickly lists the hops with three measurements for each; /d turns off name lookups. pathping first builds the route, then sends 100 requests to every hop and counts the loss, so it runs for several minutes; /n also turns off name lookups.
The most convenient report for support comes from WinMTR — a free, open-source program that needs no installation. Download it only from the project page.
- Unpack the archive, run
WinMTR.exe, enter the server address in the Host field and press Start. - Wait until the Sent column reaches at least 100 packets, then press Stop.
- Press Copy Text to clipboard or Export TEXT — the report is needed as text.
Linux and macOS: mtr#
In report mode mtr runs the given number of cycles, prints a table and exits. On macOS run it with sudo.
mtr -r -w -b -c 100 203.0.113.10| Option | What it does |
|---|---|
-r | Report mode instead of the interactive screen. |
-w | Wide report: host names are not truncated. |
-b | Shows both the name and the IP address of a hop. |
-c 100 | 100 cycles, one per second. Without this option the report has only 10 cycles. |
-T -P 3389 | TCP SYN packets to the given port instead of ICMP — for a server that does not answer ping. |
Without -r the program runs interactively; press q to quit. All options are described in the mtr documentation.
How to read a trace#
A sample report (example addresses):
HOST: office-pc Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.1.1 0.0% 100 0.6 0.7 0.5 1.9 0.2
2.|-- 198.51.100.1 0.0% 100 1.8 2.1 1.5 6.3 0.6
3.|-- 192.0.2.17 62.0% 100 14.9 15.3 14.6 19.2 0.7
4.|-- ??? 100.0 100 0.0 0.0 0.0 0.0 0.0
5.|-- 192.0.2.94 0.0% 100 15.2 15.4 14.8 21.5 0.8
6.|-- 203.0.113.10 0.0% 100 15.6 15.7 15.1 18.4 0.5Loss% is loss, Snt is packets sent, then times in milliseconds: last, average, best, worst and the spread.
- Start with the last line — that is your server. If it shows 0% loss and
Avgis close toBest, the connection is fine whatever the lines above show. - Loss on an intermediate hop only (line 3), with 0% further on, is not a problem. Routers limit the ICMP replies they send themselves but forward transit traffic normally.
- A
???line is a hop that does not answer at all. That is normal too if the later hops answer. - A real problem is loss that appears at some hop and stays at about the same level down to the last line.
- The same goes for delay. A jump that persists to the end (between lines 2 and 3) is the real travel time of that segment; in the example it is the path from Ukraine to Poland. A jump on a single hop, after which the time drops again, only means that hop is slow to answer ICMP.
Step 3 Trace in the reverse direction#
Packets to the server and back often take different routes. A trace from your computer shows only the hops of the forward path, although its times and loss depend on both routes. So run a trace from the server to your office’s external address as well.
The external address is shown on your router’s status page. If you connect to the server directly, without a VPN, the server can show it too. On Linux (SSH session) it is the first value in the output of this command (run it before sudo -i):
echo $SSH_CONNECTIONOn Windows Server (RDP session on the standard port), in PowerShell:
Get-NetTCPConnection -LocalPort 3389 -State Established | Select-Object RemoteAddressThen run the same commands on the server with the office address: mtr -r -w -b -c 100 198.51.100.25 on Linux (install mtr there first) or pathping /n 198.51.100.25 on Windows Server. The office router may not answer ping — the trace will then end in a line with 100% loss or asterisks; look at the hops before it.
Step 4 Check the port#
ping tests ICMP only. A separate TCP check shows whether the port you need is open. On Windows (PowerShell), an example for RDP:
Test-NetConnection 203.0.113.10 -Port 3389The line TcpTestSucceeded : True means the port is open (see the Microsoft documentation). On Linux and macOS, an example for SSH:
nc -vz -w 5 203.0.113.10 22Success is a message containing succeeded, Connected or open (depending on the nc version). If Linux has no nc, install the netcat-openbsd package (Debian, Ubuntu) or nmap-ncat (AlmaLinux, Rocky Linux, RHEL).
If ping works but the port is closed, look for the cause on the server: the service is not running or the firewall blocks the port.
How to check the result#
- The last hop shows 0% loss over at least 100 packets.
- The minimum time is close to the figures above for your chosen country and your city, and the average is close to the minimum.
- The port you need answers:
TcpTestSucceeded : Trueorsucceeded. - A repeat measurement during working hours and in the evening gives a similar picture.
Common mistakes#
- Judging by four packets. Loss of 1–2% does not show in such a sample.
- Measuring over Wi-Fi or mobile internet. First
pingyour own router (the first hop of the trace): if loss and spread are already there, the cause is in your network. - A VPN left on. With it traffic takes a different route. Measure the way users will actually work.
- Deciding “the server is down” because Windows Server does not answer ping. A freshly installed Windows Server usually does not answer echo requests: its firewall blocks them. Check the port (step 4). If you need ping, allow inbound ICMPv4 echo requests from your own address only; do not turn the firewall off altogether.
When to contact support and what to attach#
Write to us if loss on the last hop repeats across several measurements, the response time stays noticeably higher than expected, or a port that should be open is unreachable although the service is running. Attach:
- an
mtror WinMTR report as text, not a screenshot — at least 100 packets, preferably in both directions; - the date and time of the measurement and when the problem began;
- your external IP address and the server address;
- your provider’s name and the connection type (fibre, mobile internet and so on);
- what exactly works poorly: remote desktop, accounting database, file transfer.
Technical support is available around the clock: phone +38 044 206 08 08, email info@united.net.ua.