Performance issues
Alan DeKok
aland at deployingradius.com
Wed Dec 30 12:02:20 CET 2009
I've written some tools to debug the performance issues that people
have seen. Part of it is set of patches to the server that has it print
out a *lot* of information about what it's doing. The second part of
the tool is a script that processes the output, and generates pretty graphs.
See the following URL for an example:
http://git.freeradius.org/processing.png
This was created by running 1000 packets through the server, then
collecting and analyzing the data. The graph is an average over all
requests.
The interpretation of the graph is:
- the average request takes ~0.022 seconds
- it is put into a queue for a bit
- then pulled off by a thread and processed
- then run through the "authorize" section
- the delay before running the "authorize" section is due to
the decoding of binary packet to internal attributes
- a number of modules are run
- "authenticate" is skipped, as the test set "Auth-Type := Accept"
- the post-auth section is run
- which runs the "exec" module.
- the server replies, and the request is marked "finished"
We can quickly see here where all of the CPU time is spent. This tool
should hopefully let people track down *where* the performance problems
are located.
Email me off list if you are interested. I'm not sure that this will
go into an official release, because it's pretty invasive.
Alan DeKok.
More information about the Freeradius-Users
mailing list