Freeradius 3.0.7 and multiple buffered-sql servers - detail file issues

Rygl Aleš ales at rygl.net
Fri Apr 17 23:39:29 CEST 2015


Hello Alan.

On Friday 17 of April 2015 22:44:56 Alan DeKok wrote:
> 
>   That's usually the goal. :)

I am really close now :)

>   Hmm... sounds like DB issues, to be honest.  Your other message mentioned
> 3-5s delay writing to the DB.  That should *never* happen.  A normal DB
> should be able to handle 200-1000 writes per second.

Well, this happens just once per night where I check the radacct table for some lost Acct-Stop packets (non-closed sessions). The table has about a milion of records.

>   That's good.  You should be able to do:
> 
> accounting {
> 	...
> 	redundant {
> 		sql
> 		detail
> 	}
> 	...
> }
> 
>   And carefully tune the "pool" parameters to the SQL module.  If all of
> the connections are in use, the server will fail-over to using the
> "detail" module.  This process is very quick, so there's no performance
> issues.

Thanks, I will try.

> > I will try again. Actually I have two more virtual servers in the config
> > with a single queue processing just couple of packets per second and
> > this error was there too. I will do some debugs here.
> 
>   Maybe try the v3.0.x branch.  We'll turn it into 3.0.8 real soon now...

I have tried again. I can provide you with full debug if needed. Unfortunately there are not too much details about this error:

Fri Apr 17 23:08:10 2015 : Debug: rlm_sql_mysql: Rows matched: 1  Changed: 1  Warnings: 0
Fri Apr 17 23:08:10 2015 : Debug: (1005) sql_instance_dsl: SQL query returned: success
Fri Apr 17 23:08:10 2015 : Debug: (1005) sql_instance_dsl: 1 record(s) updated
Fri Apr 17 23:08:10 2015 : Debug: rlm_sql (sql_instance_dsl): Released connection (0)
Fri Apr 17 23:08:10 2015 : Debug: (1005)     modsingle[accounting]: returned from sql_instance_dsl (rlm_sql) for request 1005
Fri Apr 17 23:08:10 2015 : Debug: (1005)     [sql_instance_dsl] = ok
Fri Apr 17 23:08:10 2015 : Debug: (1005)     if (noop) {
Fri Apr 17 23:08:10 2015 : Debug: (1005)     if (noop)  -> FALSE
Fri Apr 17 23:08:10 2015 : Debug: (1005)   } # accounting = ok
Fri Apr 17 23:08:10 2015 : Debug: (1005) Received response for request 1005.  Will read the next packet in 0 seconds
Fri Apr 17 23:08:10 2015 : Debug: (1005) Sent Accounting-Response Id 2 from 127.0.0.0:1024 to 255.255.255.255:1024 length 0
Fri Apr 17 23:08:10 2015 : Debug: (1005) Finished request
Fri Apr 17 23:08:10 2015 : Warning: Failed marking detail request as done: Bad file descriptor
Fri Apr 17 23:08:10 2015 : Debug: Detail - unlinking /var/log/freeradius/radacct/detail.dsl/detail.work
Fri Apr 17 23:08:10 2015 : Debug: Polling for detail file /var/log/freeradius/radacct/detail.dsl/detail-*
Fri Apr 17 23:08:10 2015 : Debug: Detail listener /var/log/freeradius/radacct/detail.dsl/detail-* state unopened waiting 5.197627 sec

Just a short question: where is the information about the las processed packet from the detail file stored?


Thanks
Ales


More information about the Freeradius-Users mailing list