[httperf] file descriptors
adrian at creative.net.au
Tue Jul 29 19:35:12 PDT 2008
On Wed, Jul 30, 2008, Mark Nottingham wrote:
> I've compared against the select-based httperf against a few known
> servers, and the results seem equivalent.
> The interesting thing is that at lower rates, CPU usage is high (but
> not >90%, as with select), but as they get higher, it dips pretty
> substantially (much < 50%) and then slowly ramps up again. This is
> useful, because you can tell when CPU on the client may become an
Could you get oprofile going and generate some traces?
30 second cheat-sheet:
opcontrol -p library -c 4 --no-vmlinux --start (include library profiling points,
4 stack deep callgraph, don't profile kernel)
opreport -l /path/to/httperf/binary/that/is/running/httperf (flat)
opreport -lc /path/to/httperf/binary/that/is/running/httperf (callgraph)
opcontrol --reset (clear statistics)
That'll provide an idea of where the CPU is going in userland.
Once thats done, we can repeat the process with a vmlinux file and include
kernel profiling to see if we're doing something inefficiently.
> I think we should get this out there ASAP. The only thing that needs
> to happen now is that configure should complain if it can't find
> libevent, I think, and the docs need to be updatd WRT CPU usage.
I hate writing configure stuff; I never get it right. Could someone with
a little configure clue copy/paste the libevent discovery/configuration
stuff in please?
> The biggest perf limit I've got now is that I can generate about 550
> *connections* a second; past that gets me a connection failed with
> unexpected error 99, which is ENOSTR (not a stream). This is Red Hat
> Linux. Any thoughts here? I see this with both select and libevent, so
> it's not the new code. It always happens around the same rate; it's
> not dependent upon how long the test has run, or the timeout
> (suggesting that it's not cumulative resource exhaustion a la
> ephemeral ports).
Cannot assign requested address (in another email); check your MSL times
and ephermeral port ranges.
- Xenion - https://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support -
More information about the httperf