Using Sqlite3 For CDR Logging

Home » Asterisk Users » Using Sqlite3 For CDR Logging
Asterisk Users 3 Comments


I am using Asterisk 1.8 and am running into some performance bottlenecks. Right now I am sending upwards of 700 concurrent faxes. I have no problem with that. The problems appear after the faxes complete. I was thinking of using sqlite3 to log CDR’s, thinking that would be faster than using MySQL. Has anyone ever benchmarked this to quantify just how much faster sqlite3 is? Are there any drawbacks to using it? I would love to write to multiple sqlite3 databases, but that doesn’t appear to be possible. Any insight at all on this would be greatly appreciated.



3 thoughts on - Using Sqlite3 For CDR Logging

  • Lack of multi-user concurrency is the big one.

    At the risk of encouraging database contests on the list, have you tried using PostgreSQL instead? It’s a gross generalisation, but In my experience, PG handles writes better than MySQL, which in turn tends to handle reads a little faster than PG – assuming both are in ‘out of the box’ (i.e. unoptimised) conditions.

    If you wanted to stick with MySQL, you might want to have a go at optimising it – there are quite a few scripts knocking around the web which run a set of queries on your data and suggest optimisations to apply.

    And others have said, running the DB on a separate host is never a bad thing, and ideally on SSDs or RAM storage if you can. Spinning disks are often the bottleneck with large data sets.

    Kind regards,


  • Thanks for the feedback. I read someplace that the Berkeley DB was wicked fast and allowed for much higher concurrency. The only problem is that I
    have no idea how to implement it into Asterisk. Does anyone have any experience with something like this?

    —–Original Message—