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.