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:[email protected], tel: (+45)60503045
_______________________________________________
radiator mailing list
[email protected]
http://www.open.com.au/mailman/listinfo/radiator