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:s...@telenor.dk, tel: (+45)60503045

_______________________________________________
radiator mailing list
radiator@open.com.au
http://www.open.com.au/mailman/listinfo/radiator

Reply via email to