Is there a command line utility I can use to quantify my up/down speeds? What is typically the bottleneck? The processor? The little USB dongle?

I'm using this WiFi dongle: https://www.adafruit.com/products/814


1 Answer 1


There's a standard linux utility called iperf which does a pure network speed test. You'll need a second system to run the test with as it's over the network.

Identifying the bottleneck is tricky. With Wi-fi it's as likely to be signal strength as anything else. However, assuming that it isn't, Wi-fi will suffer the same fundamental problems that wired Ethernet on the Pi will because they're both over USB. And the USB on the Pi just isn't that great. It was really designed as a client not a host chip. The foundation has made great strides on the software side improving this but it's still not perfect. What this translates to is an effectively top speed of the wired Ethernet of 80 mbit. Which is really effective USB top speed on the Pi, as everything hangs off the single port on the Broadcom chip through hubs. So if you're writing to an external hard disk and using the Ethernet at the same time, you'll probably get 40 mbit download and 5 MB/s read/write. Part of the slow speeds on the USB is due to CPU overhead, but not all of it. Mostly it's just a poor USB implementation I think.

  • 1
    +1 But: The CPU cannot be "part of the slow speed" unless it is otherwise heavily engaged. Bottlenecks in a linear sequence are like weakest links in a chain, there can only effectively be one. If you solve/remove that it is replaced by the next weakest link, but until then the next weakest does not add to the problem. In this case it's just the USB bus and you can't solve that, end of story.
    – goldilocks
    Mar 4, 2014 at 0:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.