FreeRadius DHCP Performance
Arran Cudbard-Bell
a.cudbardb at freeradius.org
Thu Jan 28 19:41:51 CET 2016
> On Jan 28, 2016, at 1:14 PM, O'Connell, Ryan <ryan.oconnell at viasat.com> wrote:
>
> Thanks Alan. I am using INNODB and default indexes (default schema from mods-config). I put 65k ip’s in the pool so that I could let the test run for a bit but that’s definitely contributing to the performance bottleneck. If I drop the number to 5k I can do a bit more (5/sec).
That's low. You know if you run the server in debug mode it becomes single threaded right?
> As a next step, I added an index to include the pool_name but unfortunately the results are the same.
If you're not running in debug mode, it's probably roundtrip time, or I/O latency that's the cause of the poor performance. FreeRADIUS is largely synchronous, so latency between FR and the database really matters.
> ---- from “show create table radius.radippool” ----
> radippool | CREATE TABLE `radippool` (
> `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
> `pool_name` varchar(30) NOT NULL,
> `framedipaddress` varchar(15) NOT NULL DEFAULT '',
> `nasipaddress` varchar(15) NOT NULL DEFAULT '',
> `calledstationid` varchar(30) NOT NULL,
> `callingstationid` varchar(30) NOT NULL,
> `expiry_time` datetime DEFAULT NULL,
> `username` varchar(64) NOT NULL DEFAULT '',
> `pool_key` varchar(30) NOT NULL,
> PRIMARY KEY (`id`),
> KEY `radippool_poolname_expire` (`pool_name`,`expiry_time`),
> KEY `framedipaddress` (`framedipaddress`),
> KEY `radippool_nasip_poolkey_ipaddress` (`nasipaddress`,`pool_key`,`framedipaddress`),
> KEY `radippool_nasip_poolkey_ipaddress_pool_name` (`nasipaddress`,`pool_key`,`framedipaddress`,`pool_name`)
> ) ENGINE=InnoDB AUTO_INCREMENT=152091 DEFAULT CHARSET=latin1 |
>
>
>
> Even with some improvements to MySQL it sounds like Redis is a much better option so I’ll explore that instead. Thanks again for your feedback.
It'll scale to millions of lease allocations a second if you have enough Redis/FreeRADIUS servers and a front end load balancer :)
-Arran
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20160128/9d9c2826/attachment.sig>
More information about the Freeradius-Users
mailing list