Zero packet loss and 11 ms latency, yet downloads crawled at 10–25 KB/s. Lowering the MTU to 1400 made them roughly 300 times faster.
ping sends small packets by default, so it only proves small packets get through. Probing with large, do-not-fragment packets: payloads of 1472 and 1464 bytes all failed and 1372 succeeded, meaning the real MTU on this WiFi path was around 1400. Full-size 1500-byte packets were silently dropped along the way, and TCP kept retransmitting.
ping -M do -s 1472 <host> # 不通就往下试,1372 通即路径 MTU ≈ 1400
sudo ip link set dev wlp3s0 mtu 1400With the interface MTU at 1400, a 12.6 MB package downloaded in 1.6 seconds. The setting is lost when WiFi reconnects; making it stick means writing it into the NetworkManager connection profile.
Written byShihao Qi
Related
Four Seconds on a First Visit2026-10-29The site always felt fast to me because my browser had a cache. A cold request from Beijing took 1.3 seconds to first byte and four seconds to finish, once twenty-four. On a small server in Hong Kong it now finishes in 0.3.#Networking#DeploymentKeep .bat Files ASCII-Only2026-10-27A few Chinese comments added to a launcher script, and it crashed on double-click with a string of chopped-up command names.#Windows#DebuggingCalibrate Your Ruler First2026-10-22Several rounds of digging in the same sandbox, and twice the measurement itself was wrong: counting the bin misses things, and the UI’s counts can scare you. What finally killed my hypothesis was a timestamp.#Forensics#Debugging