Excerpts from Sean Dague's message of 2015-06-18 12:53:16 -0700:
> On 06/18/2015 03:47 PM, Mike Bayer wrote:
> > 
> > 
> > On 6/18/15 1:28 PM, Matt Riedemann wrote:
> >>
> >>
> >>>
> >>
> >> It's not only neutron, I saw some pymysql failures in nova the other
> >> day for 'too many connections' or some such related error.
> > 
> > "too many connections" is an error raised by MySQL when more connections
> > are attempting to connect than the max_connections setting.  It defaults
> > to 100 but it is often set at 1024 in distributions.    An Openstack
> > application that uses oslo.db will go through oslo.db's create_engine()
> > routine which defaults the max number of connections per python process
> > to 15, and when the process is idle, this drops to 5.
> > 
> > Which means, there have to be over 60 python processes all hitting the
> > DB at the max to get that error, if max_connections is at 1024.    Or
> > the connection pool is totally broken (e.g. with eventlet monkeypatching
> > perhaps), which would be a critical issue for me to fix.
> > 
> > So I'd love to see how the "too many connections" error actually
> > happens.  Please share whatever you have on that.
> 
> I believe the distro defaults in Ubuntu are the mysql defaults, which is
> 151 - https://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html
> 
> If we're allowing 15 connections per python process, and the APIs are
> running in a worker mode, which means 8 workers per API server, yes,
> that's going to add up really quick.
> 
> Perhaps under these scenarios we need to raise this to 1024 in devstack?

Indeed, mysqld needs tuning for better concurrency. I submitted this
which should help avoid the low connection count and also will
unserialize read/writes on a single table which should lead to tests
doing multiple operations asynchronously finishing a bit quicker.

https://review.openstack.org/193295

Note that we MIGHT want to raise the innodb_buffer_pool_size. The
default since 5.5 has been 128MB (It used to be _8MB_). However, I
imagine memory can get tight on devstack nodes and laptops, so it's also
perfectly valid to keep it at 128MB and just let operations go to disk
more often.

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to