When testing wireless performance in the real world there are many factors that can influence performance.
1) Link (PHY) Speed
PHY speed is the data rate the client is able to communicate, this speed is dependent on the SNR received by the client, the worse the SNR, the slower the data rate will be. PHY speed also depends on the AP capability and the client capability. You can find out client capabilities by knowing the number of rx/tx radio chains and spatial streams (eg 2x2:2) and looking at this table: http://mcsindex.com/
In Windows task manager will show the PHY speed in real time. As an approximate guide, for a single client on a clean channel you can expect a data transfer rate of around half the PHY speed.
2) Radio configuration
Configuration of the radio will vary from site to site and possibly even building to building within a site. Wholesale radio changes should be done with care, however as a general guideline the following settings would give a working baseline.
Outside of the radio configuration, WLAN service: ensure WMM is enabled, this is a requirement for HT/VHT devices to achieve higher data rates. Encryption, if used, should be WPA/v2 for the same reason (WPA/v1 or WEP cannot operate at higher data rates.)
- 20Mhz channel width
- Eliminate legacy data rates (802.11b) by setting radio mode to g/n
- 40Mhz or 80Mhz can be used in certain circumstances but care must be taken to chose a clear channel, typically in the real world 20Mhz width gives more channels and more capacity and is therefore the preferred choice.
- Ensure tx power is enough to provide an SNR that allows highest data rates possible.
- Short guard interval (400ns)
- DTIM of 1 or 2 (default is 5)
- Protection auto
- Aggregate MSDU disabled
- Aggregate MPDU enabled
- ADDBA support enabled
- ATPC off
3) Background traffic, especially broadcast and multicast types
Due to the fact that 802.11 wireless is half duplex and a shared medium any additional traffic on the access point, including on other SSID's will impact on performance. It is recommend to test on a single ssid with a single vlan and on a channel that is as clean as possible.
4) RF interference, ACI/CC
What is Co and Adjacent Channel Interference
Other AP's or clients operating on the same channel will add to contention and thus reduce performance. You may also see a lot of re-transmissions if not all devices can hear each other.
5) Ethernet link speed and POE
- An AP operating with only a 100Mbps ethernet link will have a bottleneck when serving HT/VHT clients on 802.11n or 802.11ac, check ethernet port configuration
- An AP operating in low power due to POE may reduce the number of spatial streams/radio chains to fit the power budget available, check POE configuration for the switch to ensure it is providing the correct power, for example 802.3at not 802.3af
6) Client configuration
- Use the latest manufacturers drivers. Don't rely on Windows update, check the manufacturer website manually.
- Connect the device to mains power where possible (for example a laptop should not be on battery)
- Disable power save if possible (typically on Windows devices.)
7) Testing tools
- Frequently web based tools such as speedtest.net are used, these tools are good to give an indication of performance but they add in some unknowns caused by the vagaries of the internet.
- iperf is a useful tool and is best done with a wired client and a wireless client. Iperf has 2 modes, server and client, the server is a receiver and the client is a sender, measurements can be taken in both directions by alternating the wireless and wired client between iperf server/client mode. An example iperf command that sets up 6 parallel TCP streams with a TCP window size of 256k and abbreviated example results could be:
Iperf -c <server IP address> -P 6 -w 256k -r -t 60
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-60.01 sec 200 MBytes 28.0 Mbits/sec sender
[ 4] 0.00-60.01 sec 200 MBytes 28.0 Mbits/sec receiver
[ 6] 0.00-60.01 sec 206 MBytes 28.8 Mbits/sec sender
[ 6] 0.00-60.01 sec 206 MBytes 28.8 Mbits/sec receiver
[ 8] 0.00-60.01 sec 205 MBytes 28.6 Mbits/sec sender
[ 8] 0.00-60.01 sec 205 MBytes 28.6 Mbits/sec receiver
[ 10] 0.00-60.01 sec 204 MBytes 28.6 Mbits/sec sender
[ 10] 0.00-60.01 sec 204 MBytes 28.6 Mbits/sec receiver
[ 12] 0.00-60.01 sec 199 MBytes 27.8 Mbits/sec sender
[ 12] 0.00-60.01 sec 199 MBytes 27.8 Mbits/sec receiver
[ 14] 0.00-60.01 sec 203 MBytes 28.4 Mbits/sec sender
[ 14] 0.00-60.01 sec 203 MBytes 28.4 Mbits/sec receiver
[SUM] 0.00-60.01 sec 1.19 GBytes 170 Mbits/sec sender
[SUM] 0.00-60.01 sec 1.19 GBytes 170 Mbits/sec receiver