[Kamailio-Users] ERROR:mysql:db_mysql_new_connection: driver error: Too many connections

Klaus Darilion klaus.mailinglists at pernau.at
Thu Sep 4 13:09:06 CEST 2008


If the problem is really the database then just remove all the database 
lookups (replace them with some static result) and test again. Then, add 
again one DB lookup after the other and always test the perfomance. This 
shuold give you an idea were the bottleneck is located.

klaus

Samael - schrieb:
> Thanks for your response.
> 
> We realized that with 200 children the problem is still happing.
> 
> We are using db ( MySQL 5 ) in every request in the config file through 
> the following modules:
> 
>     - lcr: to check every request where come from
> 
>     - dispatcher: to make load balancing with a pool of asterisk in cluster
> 
>     - avpsops: to use some user preferences
> 
>     - carrieroute: to balance outbound calls to several providers
> 
> Is this a high load of db transactions to the openser?
> 
> Regards
> 
> 
> 2008/9/3 Ovidiu Sas <osas at voipembedded.com <mailto:osas at voipembedded.com>>
> 
>     Increasing the number of children to 200 will not help.
>     Most likely, your config is doing something 'wrong' or being terribly
>     intensive on mysql db.
>     Openser is very light and it can handle lot's of transaction, but if
>     you are using a slow db and you are doing db queries during your
>     transaction processing, then your server will be slow.
> 
>     Check your config and see what's going 'wrong' there.
> 
>     As a reference, openser is able to do 150 cps using a single child and
>     the CPU is barely utilized (on a slow machine).
> 
> 
>     Regards,
>     Ovidiu Sas
> 
>     On Wed, Sep 3, 2008 at 10:31 AM, Samael - <samael.zgz at gmail.com
>     <mailto:samael.zgz at gmail.com>> wrote:
>      > Hi,
>      >
>      >
>      >
>      > We are deploying OpenSER in a large infrastructure together with
>     Asterisk to
>      > support thousands of current transactions.
>      >
>      > We are using udp listener and mysql module in openser.
>      >
>      >
>      >
>      > We had to increase the children parameter of the openser.cfg to
>     200 because
>      > Openser couldn't handle the high amount of concurrent SIP
>     REQUESTs from
>      > ASTERISK (Not only INVITES, but also a lot of SIP OPTIONs), that
>     means that
>      > Openser couldn't handle more than 'children' REQUEST loosing the
>     rest of the
>      > concurrent REQUEST.
>      >
>      > children=200
>      >
>      >
>      >
>      > But then, the following error appeared in the openser:
>      >
>      > ERROR:mysql:db_mysql_new_connection: driver error: Too many
>     connections
>      >
>      >
>      >
>      > This is because the Standard parameter of mysql "max_connections"
>     is set to
>      > 100.
>      >
>      >
>      >
>      > In mysql CLI, we can see that every child process of openser has
>     a mysql
>      > connection. (see in Mysql> SHOW PROCESSLIST)
>      >
>      >
>      >
>      > The recommended max_connections parameter is 500-1000 => we have
>     a limit of
>      > 500-1000 concurrent SIP REQUEST to be processed by the openser.
>      >
>      >
>      >
>      > Why there is a process for every child?
>      >
>      >
>      >
>      > Why is neccesary a mysql connection for every child?
>      >
>      > Can the openser have a pool of mysql connection to be used by
>     thousands of
>      > children?
>      >
>      > Regards
>      >
>      > _______________________________________________
>      > Users mailing list
>      > Users at lists.kamailio.org <mailto:Users at lists.kamailio.org>
>      > http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>      >
>      >
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Users mailing list
> Users at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list