[openstack-dev] [neutron][all] switch from mysqldb to another eventlet aware mysql client

Ihar Hrachyshka ihrachys at redhat.com
Sun Jul 13 16:29:50 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 12/07/14 03:17, Mike Bayer wrote:
> 
> On 7/11/14, 7:26 PM, Carl Baldwin wrote:
>> 
>> 
>> On Jul 11, 2014 5:32 PM, "Vishvananda Ishaya"
>> <vishvananda at gmail.com
> <mailto:vishvananda at gmail.com>> wrote:
>>> 
>>> I have tried using pymysql in place of mysqldb and in real
>>> world
> concurrency
>>> tests against cinder and nova it performs slower. I was
>>> inspired by
> the mention
>>> of mysql-connector so I just tried that option instead.
> Mysql-connector seems
>>> to be slightly slower as well, which leads me to believe that
>>> the
> blocking inside of
>> 
>> Do you have some numbers?  "Seems to be slightly slower" doesn't
> really stand up as an argument against the numbers that have been
> posted in this thread.
>> 
>>> sqlalchemy is not the main bottleneck across projects.
>>> 
>>> Vish
>>> 
>>> P.S. The performanace in all cases was abysmal, so performance
>>> work
> definitely
>>> needs to be done, but just the guess that replacing our mysql
> library is going to
>>> solve all of our performance problems appears to be incorrect
>>> at
> first blush.
>> 
>> The motivation is still mostly deadlock relief but more
>> performance
> work should be done.  I agree with you there.  I'm still hopeful
> for some improvement from this.
> 
> 
> To identify performance that's alleviated by async you have to
> establish up front that IO blocking is the issue, which would
> entail having code that's blazing fast until you start running it
> against concurrent connections, at which point you can identify via
> profiling that IO operations are being serialized.   This is a very
> specific issue.
> 
> In contrast, to identify why some arbitrary openstack app is slow,
> my bet is that async is often not the big issue.   Every day I look
> at openstack code and talk to people working on things,  I see
> many performance issues that have nothing to do with concurrency,
> and as I detailed in my wiki page at 
> https://wiki.openstack.org/wiki/OpenStack_and_SQLAlchemy there is a
> long road to cleaning up all the excessive queries, hundreds of
> unnecessary rows and columns being pulled over the network,
> unindexed lookups, subquery joins, hammering of Python-intensive
> operations (often due to the nature of OS apps as lots and lots of
> tiny API calls) that can be cached.   There's a clear path to tons
> better performance documented there and most of it is not about
> async  - which means that successful async isn't going to solve all
> those issues.
> 

Of course there is a long road to decent performance, and switching a
library won't magically fix all out issues. But if it will fix
deadlocks, and give 30% to 150% performance boost for different
operations, and since the switch is almost smooth, this is something
worth doing.

> 
> 
> 
> _______________________________________________ OpenStack-dev
> mailing list OpenStack-dev at lists.openstack.org 
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCgAGBQJTwrP+AAoJEC5aWaUY1u57gRUH+wTAUcl1kujT5iVUwcZUEEfx
P9nC0JPduXxYlobiFYyQKVVQm6pTaPgbgBoq4M/vKD0PbxBYMSTFA+igmewX6cHN
RlsfvQgTsB/FU+dxK3gfRBQU3OnHLUSKWwZydp0YjmrCCHP3wiPj/HqWdD7vl1H8
Cxl+R2Zr7dR1ZMQBHDbAtu6FrGEa5SBnAwvAcsIr6mKymkFzQ4DU2DKOc8mm1i1f
GhwCG8IvhKYo/w3yt0CUjPJoPSDaAoIGv984NDv7sjHeSZCRxNmV8jXlRUcztFcG
lBAWguZtdyOiX+qHNmRZHV1Mm0SybcGIZN0Zw+u+1hpoiR0ZjAbLoofBwkCHxDE=
=OXs7
-----END PGP SIGNATURE-----



More information about the OpenStack-dev mailing list