logoalt Hacker News

tripdoutlast Saturday at 9:24 PM1 replyview on HN

> Running iperf server on the router itself creates CPU contention between the WiFi scheduling and the iperf process. The router’s TCP stack isn’t tuned for this either. Classic mistake.

Can you elaborate on this? I don't know much about WiFi so I'm curious what CPU work the router needs to do and what wouldn't be offloaded to hardware somehow (like most routing/forwarding/QoS duties can be).


Replies

Nextgridlast Saturday at 11:08 PM

It has nothing to do with WiFi even; when running a test you need a server that emits the test data - this could be a standard HTTP server on the internet (in case of public speed tests) or a binary like iperf that synthesizes the test data on the fly.

You need to ensure the server is able to send the test data quickly enough so that the network link becomes the bottleneck.

In his case he was running the test server on the router, and the router’s CPU was unable to churn out the data quickly enough to actually saturate the network link (most network equipment does the network switching/routing/NAT in hardware and so doesn’t actually come equipped with a CPU that is capable of line-rate TCP because it’s not actually needed in normal operation).