[Freeswitch-users] Situation with freeswitch dbh + odbc (mysql) in lua

John Nash john.nash778 at gmail.com
Fri Nov 13 16:36:31 MSK 2015


Thank you for sharing ideas ..
1- I have made sure that dbh is released even in cases of query error.
2- In mysql processlist I see lot of connections but all in sleep mode.

My stored procedure is complicated but it has all select statements and I
run with least possible locking isolation. But I am not really sure on if
with time or because of some other application stored procedure is taking
long to to execute hence each new request creating more dbh handles. I am
also using readtimeout as 10 seconds in odbc.ini so that in case stored
procedure takes time, i get error and then release handle.






On Fri, Nov 13, 2015 at 6:49 PM, Florent Krieg <flokrrr at gmail.com> wrote:

> Hello John,
>
> If you are under heavy load, could this be a db issue? Like the db engine
> taking long to return the data, hence queries are getting queued one after
> the other and finally reach a few hundreds of it?
> Or you are right and your Lua script sometimes doesn't release the handler
> as it just shall... To check this, you could for instance log a debug
> message before and after doing your db query, and check after a few minutes
> if you have the equivalent of 'before' and 'after' query messages... If
> more before than after, then something is happening.
>
> You could do a 'show processlist;' on the MySQL cli too to understand what
> are exactly the few hundreds of open connections.
>
> Also, is your stored procedure complicated? I'm not DBA but if it's too
> tricky, you could imagine to move the load on the Lua processing instead of
> MySQL. I have the same use cases on my environment and I made sure my MySQL
> queries are dumb as possible and I take the benefit of Lua to process the
> data returned.
>
> I'm just dropping some ideas that I'm thinking about now. Nothing very
> precise though (sorry...).
> Florent
>
> 2015-11-13 12:49 GMT+01:00 John Nash <john.nash778 at gmail.com>:
>
>> I am calling a lua script from dialplan which does following steps ...
>>
>> 1- Gets freeswitch dbh handle (odbc mysql)
>> 2- Runs a mysql stored procedure which returns balance remaining amount
>> for the subscriber who made call.
>> 3- Save the amount in session variable and released dbh handle
>> 4- Play sound files as per output received and saved in step 3
>>
>> Now upto 200 calls and first 2-3 hours of start all work fine. I can see
>> in Database that script uses 32 connections approx at a given time (I think
>> connection pooling works) but suddenly connections start increasing and go
>> upto 300+ and because of that database stops responding and i have to kill
>> freeswitch to make production DB responsive again.
>>
>> I am not sure where and what I should check. Can someone give me pointers
>> on what I can check?..Or I am doing something fundamentally wrong.
>>
>> Can there be such a case where lua scripts hang and never release
>> connection?
>>
>>
>>
>>
>>
>>
>> _________________________________________________________________________
>> Professional FreeSWITCH Consulting Services:
>> consulting at freeswitch.org
>> http://www.freeswitchsolutions.com
>>
>> Official FreeSWITCH Sites
>> http://www.freeswitch.org
>> http://confluence.freeswitch.org
>> http://www.cluecon.com
>>
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>> http://www.freeswitch.org
>>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20151113/d119d605/attachment.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list