[asterisk-users] Help Please - Asterisk MYSQL interface seems to be eating data

Steve Totaro stotaro at totarotechnologies.com
Tue May 6 19:32:24 CDT 2008


On Tue, May 6, 2008 at 11:42 AM, Anthony Francis <anthonyf at rockynet.com> wrote:
>
>
>
>  Tilghman Lesher wrote:
>  > On Tuesday 06 May 2008 02:16:47 Johansson Olle E wrote:
>  >
>  >> 5 maj 2008 kl. 19.58 skrev Tilghman Lesher:
>  >>
>  >>> On Monday 05 May 2008 11:24, Johansson Olle E wrote:
>  >>>
>  >>>> 5 maj 2008 kl. 17.51 skrev Tilghman Lesher:
>  >>>>
>  >>>>> On Monday 05 May 2008 09:45, Johansson Olle E wrote:
>  >>>>>
>  >>>>>> Another issue that we need to fix with the MYSQL driver is that
>  >>>>>> we're
>  >>>>>> lacking a connection pool. Everything seems to be handled over one
>  >>>>>> connection to Mysql, which causes issues.
>  >>>>>>
>  >>>>> That's not true.  The MYSQL app generally uses multiple connections,
>  >>>>> one
>  >>>>> for each channel.  The only way one might use only a single
>  >>>>> connection is
>  >>>>> by using a global variable to store a single connection id, but that
>  >>>>> method
>  >>>>> is not documented anywhere, AFAIK.
>  >>>>>
>  >>>> You talk about the Mysql APP, but is this the case with the Realtime
>  >>>> driver as well?
>  >>>>
>  >>> No, the native Realtime driver uses a single connection.  The ODBC
>  >>> Realtime
>  >>> driver generally uses a single connection but can be configured to
>  >>> use a
>  >>> separate connection for each query.
>  >>>
>  >> So, we're back to where we started. A developer that can help us with
>  >> a connection
>  >> pool or a separate connection for each query would be a Nice Thing (TM).
>  >>
>  >
>  > What issues are you specifically seeing that merit using multiple
>  > connections?
>  >
>  >
>  I can specify an issue that would merit multiple connections, if the
>  link to your db goes away Asterisk likes to freeze writing CDRs.
>  I have a few remote * servers that this happens to. My solution so far
>  has been to record CDR's to a local DB and then have a
>  perl script that attempts to move them over to my transaction DB. I
>  would suggest this solution to anyone who depends on their CDR records.
>
>  --
>  Thank you and have any kind of day you want,
>
>  Anthony Francis
>  Rockynet VOIP
>

I would not run MySQL on the local box.  I would simple use Asterisk's
csv CDRs and then use some script to import the CSVs into a database
residing on another server using some sort of script.  Depending on
your needs, you could probably run that during low call volume.  I
also think that you adapt the free queue_log to database script by
Queuemetrics to do what you want on the fly.

Thanks,
Steve Totaro



More information about the asterisk-users mailing list