Alexander Clouter wrote:
> Steve Bertrand <[email protected]> wrote:
>>>> The radacct table in the RADIUS database grows at an enormously fast
>>>> rate. Regardless of server resources, trying to search or perform
>>>> actions on this table can be a daunting task.
>>>   Yup.  In some cases, people are required to keep this data for months.
>> I have all radacct information back to 1999 readily available, and data
>> before that archived. It wasn't until ~2003 or so that I changed to
>> using SQL. It didn't take long to realize that the SQL server became
>> useless after only a few months.
>>
> I guess I am a 'small cheese' with only 2m rows in my authentication 
> table?  I am using PgSQL and have btree'd my timestamp columns, but it 
> still takes only 3.6s to pull 10k rows worth of just todays data.
> 
> I thought the point of index'ing your columns (sensibly) meant that the 
> size of the table was not meant to really be too much of a killer?

A single select isn't an issue:

select * from radacct where acctstoptime > '2010-01-01';
15633 rows in set (0.84 sec)

The problem I've noticed is in complex queries. For instance, in our
accounting system, when we display a plan for a user, it used to pull
out all radacct info for the user for an entire year, and display this
info as aggregates per each month.

This becomes a nightmare in cases where an ADSL user has a gateway that
disconnects automatically every five minutes, but auto reconnects right
after.

Another situation is if I want to mysqldump the radacct table. It takes
far less time to do this on a table with three months of data as opposed
to 12+.

So, what I do is:

- aggregate daily data into a separate table
- aggregate the daily aggregated data into a separate monthly table
- copy the radacct data to a new radacct-YYYYMM table monthly, then
remove that months data from the radacct table (generally, I keep three
months active)
- the accounting system displays the user month totals from the month
aggregated table, so it only has to select 12 rows. The month archive is
run daily

Steve

-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to