[openstack-dev] [keystone][oslo][designate][zaqar][nova][swift] using pylibmc instead of python-memcached

Morgan Fainberg morgan.fainberg at gmail.com
Fri May 13 12:30:31 UTC 2016


On May 13, 2016 05:25, "Mehdi Abaakouk" <sileht at sileht.net> wrote:
>>>
>>> - Is anyone interested in using pylibmc in their project instead of
>>> python-memcached?
>
>
> This is not a real drop-in replacement, pylibmc.Client is not threadsafe
> like python-memcached [1]. Aos it's written in C, it shouldn't be a
> problem for keystone because you don't use eventlet anymore, but for
> project that still use eventlet no greenlet switch will occurs during
> memcached IO.
>
> [1]
http://sendapatch.se/projects/pylibmc/misc.html#differences-from-python-memcached
>
> --
> Mehdi Abaakouk
> mail: sileht at sileht.net
> irc: sileht
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

FYI - Python-memcached is not really greenlet safe under load. We found
that it explicitly uses thread.local which means that enough connections
coming into a service that means heavily on memcache can cause the memcache
server to end up with a ton of open connections/max out TCP connection
limits.

This had to be worked around in keystone under eventlet. Luckily it hasn't
hit other projects too hard. This move should consider that design issue as
well (regardless of the final choice)

--Morgan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160513/99e6ff8b/attachment.html>


More information about the OpenStack-dev mailing list