On Sat, 20 May 2017 14:41:20 +0900 Mark Fletcher <mark2...@gmail.com> wrote:
> Hello! > > 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 (speedtest-cli). 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. Celejar