FreeRadius msg processing rate

Alan DeKok aland at
Tue Feb 3 10:48:40 CET 2009

Sourav Chakraborty wrote:
> I have configured FreeRadius server with MySQL.I bombarded the server
> with Radius Accounting START and STOP msgs randomly with 178461 msgs in
> 1 minute(~3000 msgs/sec).

  First question: Can your database do 3000 writes/s?  If not, this test
is pointless.  All you're doing is testing how well the system works
when it is completely overloaded... which is "not well, at all."

> I got response back of 23658 msgs.I have noted
> the UDP msg stats using (netstat -s).They are as below--
>       67137 packets received
>       0 packets to unknown port received
>       111680 packet receive errors
>       23710 packets sent
> Note that the initial counts were all 0.
> From the stats it seems that --

  You *could* look at the stats the server keeps.  See
raddb/sites-available/status for examples and documentation.

> packets received + packet receive errors = ~msgs sent
> packets sent = ~response msgs received
> N.B:- the small anomalies in the counts may be due to unprocessed msgs
> in the socket buffers.
> In other words though the msg sending rate was ~3000 msgs/sec,the msg
> processing rate was ~400 msgs/sec.

  Which says that the DB is likely a bottleneck.

> Can you comment on this?We need to process over 3000 msgs/sec.So is
> FreeRadius with MySQL a right choice?Please suggest.

  Do you really need 3000 accounting packets/s?  This is the equivalent
of 2 *million* users online all of the time, with an average session
length of 30 minutes.

  If you have 2 million users, you can't afford to run just one RADIUS +
SQL server.  You will want at least 2 for fail-over, maybe more.

  In short, this test was pretty much pointless:

 1) it tested loads that you are likely to *never* see in the real world
 2) it tested loads that the database is *known* to not handle.

  Again, what are you trying to prove here?

  Alan DeKok.

More information about the Freeradius-Devel mailing list