[RADIATOR] A few tips on performance and high availabilty

Søren Schrøder sch at telenor.dk
Tue Dec 4 05:05:40 CST 2012


Other radiator performance trick that I use:

Mysql Engine=memory:

I'm keeping a state on MSISDN/IMSI/IMEI/IP for 2 million active accounts, and to keep it speedy, I run it in a memory db. If mysql crashes or restarts, data is lost, so I do a dump to a disk-clone on a regular interval, and the service that query into the DB looks in memorydb, and secondary in the disk db. Since I do ALIVE (radius interim) accounting, the state table im memory will repair itself over time (after $ALIVE interval)

Internal RAM caching of semi-static data:

I keep an internal hash of semi static data (prices, products, net information etc) in my own AuthbyXXXX modules. When $ram{maxage)>time(), I refresh data. This saves me from a lot of mysql queries, but still lets me update these while running.
Radiator has a GlobalVars structure for this, if you don't want to do your own.
I also cashed customer data once in ram using this technique.


-- 
Søren Schrøder, Senior Architect, OSS, Core Engineering, Telenor
mailto:sch at telenor.dk, tel: (+45)60503045



More information about the radiator mailing list