Matthew Schumacher wrote:
Alan DeKok wrote:
I use postgres and have done a bit of tuning so it's as fast as it's going to be on this hardware, but even with very fast servers there is only so much inserts you can do at a time before you run out of DB connection handles and this is almost always going to happen long before radius reaches it's processing limits, especially when you have several million rows like I do."Gary McKinney" <[EMAIL PROTECTED]> wrote:
From following this thread I am wondering how many transactions a second can a DB handle successfully perform before the system starts to lose information???
That depends on the DB. Oracle is fast, PostGreSQL is fast, MySQL is less fast.
I am wondering for a given platform and OS (such as linux or FreeBSD running on a 2.0Ghz based system with 1-Gig of RAM and fast SCSI hard-drive subsystem) how many transactions can the FreeRadius system handle in a second???
I think the most graceful way to handle this would be to add a function to rlm_sql that writes the accounting packet to a detail log then call that before returning RLM_MODULE_FAIL. The name of the file could be defined in the sql {} part of the config file. This way any sql based failures will at least be written somewhere instead of lost forever. This detail file could be fed back to the server at some other point in time.
I'm a very poor C programmer so before I start looking into this further perhaps Alan and comment on any problems he sees with this and describe any problems I may run into with calling rlm_detail from rlm_sql.
I have been quietly watching this thread, and the idea of setting up a FIFO {First In First Out} buffer to handle inserts sounds like a good idea, but may have some adverse consequences. I have not delved into the rlm_sql source too much and don't know what adverse issues would be lurking behind this issue.
Another option might be setting up a customizable delay into the acknowledge response from the radius server. This is sometimes referred to as a delay pool, and is used for connection throttling in squid and apache if I remember correctly.
Just my 2 cents.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

