FreeRADIUS performance information (tuning, benchmark)
Phil Mayers
p.mayers at imperial.ac.uk
Tue Jul 24 14:49:27 CEST 2012
On 24/07/12 13:26, Andrei Petru Mura wrote:
> I'm running FreeRADIUS on a PC with a dual CPU of 2 GHz and 2 GB of RAM.
> It is working with PostgreSQL database.
> When I perform tests with radperf, running :
>
> radperf -s -f ../users.csv -p 800 -a pap 10.3.1.1 auth radiussomething
>
> where users.csv file contains 10000 user names with password, I get this
> output:
>
> Total succeeded : 3811
> Total failed : 6189
> Total no reply : 0
> Total time (s) : 10.588
> Packets/s : 944
> Response times:
> < 10 usec : 0
> < 100 usec : 0
> < msec : 0
> < 10 msec : 1
> < 0.1s : 3758
> < s : 5897
> < 10s : 344
> < 100s : 0
> (the result is a good one taking in account the packets amount processed
> per second - related to more tests that I did).
> I would need a sever able to manage a much greater amount of users ( >
> 50000, up to 1000000). But for now I'm interested how to get the server
> working well with ~(50000<->100000) users.
The number of users isn't too important, I suspect.
What matters is the authentication rate (number of auths/sec) and the
accounting rate (acct/sec).
You also need to ensure your SQL database can reply sufficiently
quickly. This might depend on the number of users, since SQL query
performance is a complex mixture of table size, indexing and load.
1000 auths/sec is quite a lot. It implies you need to perform 1000 SQL
queries/sec (at LEAST).
Try this: convert your SQL users into a "users" text file, like so:
username Cleartext-Password := "password"
...and disable SQL, then re-run the test. I think it will perform a lot
better. If so, then you know that the bottleneck is SQL, and that you
should focus your efforts there.
> What configuration do I need for this (I mean hardware configuration)?
You should really have >1 server, for resilience if nothing else.
If you are using SQL you will need fast disks, with a big cache.
> What are the best recommended improvements that should be done? Would
> JRadius module help on improving performance? (I'm not familiar about
> JRadius).
I seriously doubt it. Why do you think JRadius would help?
More information about the Freeradius-Users
mailing list