[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Throughput riddle



On 03/18/2016 09:48 AM, Celejar wrote:
Hi,

I'm trying to understand the throughput across the different links of
my little home network, and am perplexed by the measured wireless
throughput.

The three main devices I'm interested in:

Router: Buffalo WZR-HP-G300NH running OpenWrt (Chaos Calmer 15.05).
Gigabit WAN and LAN, 802.11bgn wireless.

https://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h

Laptop: Thinkpad T61 running Jessie 8.3. Gigabit ethernet, 802.11abgn
wireless.

NAS: Seagate GoFlex Net [STAK100] runninng Debian Jessie 8.3.

https://archlinuxarm.org/platforms/armv5/seagate-goflex-net

All throughput measurements taken with iperf (run three times and using
the median result), unless specified otherwise. These first results are
with the laptop connected to the router via cat5:

Laptop - NAS:		~874 Mbps.

I use category 5E cables for Gigabit. Category 5 and category 6 cables were not reliable for me.


Perhaps the NAS has an automatic crossover feature on it's Gigabit port. If you do a computer-cable-computer test, you will want a (category 5E) crossover cable.


Make sure you are using the right cables and that they are known good. I own an Ideal LinkMaster cable tester, and it has been worth every penny:

    http://www.amazon.com/Linkmaster-UTP-stp-Cable-Tester/dp/B000LDC3LA


I suppose this is close enough to the gigabit theoretical max, and there isn't
any significant bottleneck.

Router - NAS:		~217 Mbps
Router - laptop:	~198 Mbps

Here the router CPU is apparently the bottleneck (top shows close to
100% CPU utilization by iperf for at least part of the 10 second iperf
runs). I suppose that this is due to the bits needing to be copied out
of the kernel networking stack into iperf's userspace memory, or
something like that. I don't understanding why the NAS seems to be
doing better, but I suppose it could be an artifact of the data.

The numbers are within 10%, so I'd call them the same as far as router performance is concerned.


What happens if you connect two Gigabit computers through the router and run iperf between the computers?


What happens if you connect one Gigabit computer and one 802.11n computer through the router and run iperf between the computers?


What happens if you connect two 802.11n computer through the router and run iperf between the computers?


Here's the part that baffles me - these are with the laptop connected
to the router wirelessly:

Laptop - router:	~11.8 Mbps

These numbers actually exhibit significant variance, but they're
generally at least this much, and at most about 15-20 Mbps.

Laptop - NAS:		~14.7 Mbps

Once again, these numbers vary widely, but are in line with the laptop
- router numbers.

Troubleshooting WiFi is tough. Location and orientation of antennas is critical. Understand that radio waves with a frequency of 2.4 GHz have a wavelength of ~12 cm. One-quarter wavelength (~1 inch) can change everything. You typically have little control over other WiFi devices or other sources of RF interference. All matter in the universe absorbs and re-radiates energy in curious ways, causing constructive/ destructive interference patterns throughout space. So, Murphy's Law is certain to strike.


Try repositioning the router. You want the antennas up high, radiating horizontally (e.g. stick antennas oriented vertically), and far from all other conductive materials -- metal-frame or masonry walls, electrical wiring, metallic pipes, metallic ducts, HVAC grilles, metal-film windows, metal window screens, televisions, other appliances, etc.. Beware of items concealed inside wood-frame walls. Beware of metallic drywall corner bead.


Test the laptop in several locations. Near-field radiation is more complex than far-field, so use a wired connection if the laptop anywhere near the router. A wired Gigabit connection is going to perform better than 802.11n even under the best conditions, so consider running category 5E cable to other usage locations. Adjust the router and laptop radios for minimum power that gives reliable service.


But here's the kicker: Ookla's speedtest (run on the laptop with
speedtest-cli) shows 29.01/5.89 (d/u), and this is fairly consistent.
I'm paying Comcast for 25/5, and they apparently provision at
31.25/6.25, so I'm getting quite close to the theoretical max, even
when the laptop is connected to the router wirelessly. Additionally,
various Android phones also get close to the Comcast provisioned max
when connecting wirelessly to the router.

So the wireless link can apparently push at least 30 Mbps or so, so why
are my local wireless throughput numbers so much lower?

I was originally using one of the common 1/6/11 channels, and I switched
to 3 since I saw a lot of other stations on those channels. This may
have resulted in some improvement, but I'm still stuck locally as
above. What's the explanation for this - how can I possibly be getting
much better throughput to servers tens of miles away than to my local
stations? Does iperf somehow work fundamentally differently from
speedtest? If so, which is a better representation of actual throughput?

It's not clear if you are doing an apples-to-apples comparison. Perhaps iperf isn't measuring what you think it is.


None of your devices are running the firmware or OS the manufacturer intended for it. Perhaps you should revert the router and/or NAS, and test again.


David


Reply to: