hostapd Performance: Bridging versus Local Services
Galen P Zink
Sun May 31 01:46:34 PDT 2009
I've setup a small test environment with hostapd (on debian, kernel
2.6.29-2, latest wireless-compat) on a 2 GHz Core Duo machine, doing
various performance tests with iperf.
When I run iperf against the machine running hostapd, I get about 20%
lower scores than if I run it against an external machine elsewhere on
my network. (I have bridging setup to the larger network via gigabit.)
This number varies a bit, but in every test (including UDP), it seems
that I get a bit better performance when bridging than when running
the service locally. Note that both the wireless card and gigabit link
are on independent PCI-e lanes, so there is no bus contention.
This is surprising to me since iperf uses 5% or less of the CPU on the
2 GHz Core Duo machine, and there are no other significant tasks or
services operating on the 2 GHz Core Duo machine. The CPU used by the
bridging and hostapd is also very low. The cpu is practically idle.
And since it's dual core, I don't see why iperf and hostapd should
even contend for CPU at all - yet they seem to, based on this data.
Can anybody share why I might be seeing better performance when
bridging than when running directly on the native machine, given this
situation? I suspect it is more likely something kernel-level than
anything, but I'd like to rule out hostapd-related options or
behaviors I might have missed.
More information about the Hostap