Why are iperf wired and wireless tests to APs so much slower than expected?

We're working with Aerohive tech support on connectivity and roaming issues and this has come up. We're running 12 APs in a school with 6 121s and 6 330s. They are running latest firmware HiveOS 6.5r6.149161 and we're using HiveManager 8.0r1. We have approximately 225 devices that are 99% Apple products. Mostly ipads for students and teachers with some iphones and MacMinis as workstations. All APs are attached to a Cisco Catalyst Gigabit switch, Fortinet Firewall, then cable internet running 200/25M.

Doing some regular testing of APs and devices, we see slow connectivity (or what appears to be slow) when reviewing the devices in the cli. Oddly, with a decent connection, the client Rx on 5MHz (wifi1) always shows capping out at 24M. The Tx will show 130M as expected - I think. Are those the correct values? Further, the 'show station' command is from the client perspective, does that mean Rx is 24M speed receiving on the client?

using show station

So we decided to use the built in iperf2 server/client in the APs and running from a wired computer. The APs we selected have not more than 3 clients connected at the time of the test, and we performed multiple tests. To a 121 eth0 we get around 50-70Mbps. The 330s over wired iperf get about 90-100Mbps. That seems pretty poor to what is expected. Computer to computer, we get 980Mbps with iperf2.

Wireless is bad too. From same computer to a 121 gets not more than 10Mbps. About 20Mbps to a 330. This is all over 5GHz SSID that is not rate limited in any way.

Is there something I am missing in terms of what is reported in the AP cli and what our real world results show?

And what should the results be over a 20MHz 5Ghz SSID with good RSSI? My computer says connection is at 130Mbps, but we never get much beyond 20M to those APs

A few more bits of information regarding your configuration would be great. Even as much of a running config from an AP if at all possible. That would give us a feel for how things are setup.

Something else to keep in mind is wireless is a shared medium and half duplex, meaning that unless you're the only device connected to the AP and the spectrum is clean, your actual throughput would at best be 60-70% of the actual data rate (and the 60-70% is probably edging on the high side).

What you are seeing in the show station is what I'd call fairly typical. Most all control frames come from the APs/Clients at the lowest base data rate set on the SSID. Any multicast traffic usually defaults to the highest base data rate set on the SSID. That being said, clients will actually (in my experience) use those same low data rates to just maintain their association (if a packet capture, you'd see a handful of NDPs or null data packets).

If you were to initiate a video stream from one of those devices and expand the show station command a bit (show station <MAC address>), I'd suspect your Tx and Rx would both be very high depending on the stations actual RSSI/SNR of their assoc/auth.

I've rarely had good luck getting the Aerohive hardware itself to test well with their built in iperf capabilities (but that could source from my limited iperf knowledge honestly). But a few questions regarding it:

What is hosting your iPerf server? Wired machine or wireless? (If/when iPerf'ing was done through the AP and not to/from it)Where is it hosted? Same VLAN or different?

All of these factors can and will impact iperf results. Even something as simple as the iperf app if running on an iOS device I've seen varying results.

I would test iPerf through the AP from a WLAN client to a wired endpoint on the same VLAN (to eliminate any possible sluggishness from inter-vlan routing).

All this to say, I would expect better results from your iPerf results. But just want to ensure you're aware that there are many factors that come into play.

If you can, try to answer some of the questions here and I'll see if I can assist further.

2. Utilise an iPerf v3 server rather then v2. A number of iPerf v2 servers have known issues that cause inconsistent results.

3. The AP121 is an "aged" access point that can struggle under modern loads. The latest firmware version I could run without users reporting poor performance was 6.5r4. We are replacing our user's AP121 access points with AP130 models.