Fajar A. Nugraha wrote: > For comparison purposes, we currently implement some config and db > schema modifications to better handle accounting packets. For example: > - always return ok on accounting packets that the NAS sends. > Implementing it requires using detail reader/writer and some unlang > blocks to catch some weird corner cases (e.g. Acct-Session-Time=0)
OK. What does the detail reader/writer do? Catch cases where the SQL DB is down? > - use unique constraint on acctuniqueid The git "master" branch has some additional changes to help make a more unique accounting ID. > - remove all *_alt queries Yeah. I've never really understood the need for them. The module failover can do the work just as well, I think. > - split "live" accounting table (those with Acct-Status-Type <> > 'Stop') and "archive" accounting table That's necessary. It can speed up Simultaneous-Use checking, too. > - change most insert/update queries to "INSERT .... ON DUPLICATE KEY > UPDATE ...." > - use "DELETE IGNORE" to delete records from "live" accounting table That's MySQL specific, but useful. > Took some effort, but it works. @Alexandre: some of the logic might be > relevant for your situation as well. I'd like to see that added into the server for 3.0. Patches? Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

