Hardware: based on ESX host:
4 core 2.1GHz processor (have 24 cores to play with)
8GB Memory (have more as needed)
CentOS 5.7 x84_64 (latest patches)
MySQL 5.5.20 - Same VM and supplied by Oracle
FreeRadius 2.1.12-7 - complied here, with MySQL libraries for
version 5.5.20
Limitations so far:
4 million dial-in potential users (16 million gets a bit slow - so
looking for other improvements)
In bound transaction rate (sustained mix of 1:1.5 of radius
authentication:Radius accounting) 2048
Response time (so far and improving) < 500mS (current gains are
from reworking MySQL data tables, structures, and indexes)
CPU utilisation is still low (as reported by VSphere) ~15% ie MySQL is
running well, and so is FR. Packet loss increases to 10% 2.5K
transactions/sec.
I am looking to use activeMQ to relieve some of the 3ggp (3ggp-Location
etc.), add enrichment; and then ultimately manage quotas with overuse
getting PoD.
The activeMQ is on another host (utilisation of the primary network
interface isn't that high; but will be looking to use a second
interface, or even using the radius VM to host the activeMQ queue, with
an additional VM running quota management.
NB Quota is measured in credits, and other systems can charge credits -
so there isn't a 'fixed' byte usage for radius accounting to count down.
Also there is another system based on netflow managing nearer real time
(well 5 minutes) actual data usage.
I've wanted to limit the number of threads, as if the activeMQ server
fails, I don't want radius to fail (users shouldn't be penalised because
of poor systems management/setup). It's all a bit too open ended for me
to feel comfortable with this as a solution as it stands.
I'll be testing a local activeMQ server later today, with a view to
either give it up as a bad idea, or to find some other way (postath
database processing?).
My feeling is that I've yet to unleash the real power of FR; but it's
far from obvious to me, as to how to improve MySQL performance with FR.
Reading others: dumping MySQL (albeit in a MySQL configuration -> local
file + reload) way seems the next step.
Simon
On 02/14/2012 07:20 AM, Alan DeKok wrote:
Simon Earthrowl wrote:
FR 2.1.12-1 and 2.1.12-7, but also looked at 3.0.0.
I manage to get 2048 perl threads (assumed from /netstat -ap/ - as I'm
interfacing into Apache's ActiveMQ), then when I hit 2049 threads FR
crashes.
See doc/bugs for how to deal with crashes.
And 2K threads? There's something wrong with your architecture if you
need that. Your backend is VERY slow, or your load is too high, or
you've under-provisioned your machines.
The biggest mistake is that you're talking about solutions, not
problems. Using 2K threads is a solution. Since you haven't specified
what the problem is, there may be OTHER solutions which work better.
e.g. If you're doing something crazy like using 2K threads, the usual
response is "don't do that"
Alan DeKok.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Follow us on Twitter at EseyeM2M
Surface mount embedded SIMs in stock - adapter kit available for testing in a
SIM socket
"Smart Metering Technology of the Year Award 2012- Shortlisted'
Eseye Ltd , Company No: 06397669 - Surrey Technology Centre, Guildford, UK
+44 1483 685200
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html