Re: [A bit OT] Diagnosing home network
On Sat, 20 May 2017 14:41:20 +0900
Mark Fletcher <firstname.lastname@example.org> wrote:
> I have some doubts about the throughput of my home network and I'm
> hoping for some advice on tools that might help me diagnose it.
> I'd like to be able to diagnose what's going on here, why the transfer
> was so slow. Any recommendations for tools I should research? I am very
> willing to read man pages etc, but am a bit lost where to start. Google
> gave me a lot of Windows-based stuff which I could look into but I would
> prefer to use Linux-based tools if possible.
> Pointers to tools I should research -- and even better, links to good
> tutorials on those tools if you know any -- would be much appreciated.
I'm no expert, but here are a few common sense suggestions, some
learned in the course of doing similar testing on my home network:
1) As another post mentioned, iperf is the basic tool for testing
throughput between two network endpoints. [There are various
versions; I use the basic 'iperf'. Just make sure you're running the
same version all over.] You need to run it on both endpoints, however,
so this won't work where you can't run arbitrary stuff on one. On my
router, I run OpenWrt / Lede, so I can run iperf there, but you may not
be able to. If iperf isn't an option, a manual test is the most basic
option: download a large file using the most basic protocol you can (to
minimize overhead), e.g., http via wget, ssh / scp, etc., and divide
bytes [and see #5 below!] transferred by time.
2) Always, especially with wireless, run tests in both directions. I've
seen dramatic differences over my wireless links, presumably due to
variations in antenna sensitivity and transmitting power.
3) It's always good to test individual network legs, to get more
fundamental measurements of the underlying bandwidth across those
different legs. So ideally, you'd want to measure throughput between
the devices connected to the switch / access point and the switch /
access point itself. Afterward, you can take measurements between
different endpoints that connect across the switch / access point, or
between your endpoints and internet sites (such as speedtest sites).
4) For internet speed tests, there are various options. One popular one
is speedtest.net, which even has a command line client in Debian
5) Very important: always remember that communication speeds are
usually specified in technical contexts in [G/M/K]*bits* per second,
but in non-technical contexts are often given in [G/M/K]*bytes* per
second. Especially when you're dealing with file transfers, and want to
figure out how long they will / should take, you'll be doing byte
per second calculations. Make sure you keep track of which unit you're
using, and convert accordingly.