0010803288
This patchset adds a pool of memcache clients. This pool allows for reuse of a client object, prevents too many client object from being instantiated, and maintains proper tracking of dead servers so as to limit delays when a server (or all servers) become unavailable. The new memcache pool backend is available either by being set as the memcache backend or by using keystone.token.persistence.backends.memcache_pool.Token for the Token memcache persistence driver. [memcache] servers = 127.0.0.1:11211 dead_retry = 300 socket_timeout = 3 pool_maxsize = 10 pool_unused_timeout = 60 Where: - servers - comma-separated list of host:port pairs (was already there); - dead_retry - number of seconds memcached server is considered dead before it is tried again; - socket_timeout - timeout in seconds for every call to a server; - pool_maxsize - max total number of open connections in the pool; - pool_unused_timeout - number of seconds a connection is held unused in the pool before it is closed; The new memcache pool backend can be used as the driver for the Keystone caching layer. To use it as caching driver, set 'keystone.cache.memcache_pool' as the value of the [cache]\backend option, the other options are the same as above, but with 'memcache_' prefix: [cache] backend = keystone.cache.memcache_pool memcache_servers = 127.0.0.1:11211 memcache_dead_retry = 300 memcache_socket_timeout = 3 memcache_pool_maxsize = 10 memcache_pool_unused_timeout = 60 Co-Authored-By: Morgan Fainberg <morgan.fainberg@gmail.com> Closes-bug: #1332058 Closes-bug: #1360446 Change-Id: I3544894482b30a47fcd4fac8948d03136fd83f14 |
||
---|---|---|
.. | ||
backends | ||
__init__.py | ||
_memcache_pool.py | ||
core.py |