162f6e987b
We can reduce a workload of rabbitmq through implementation of expiration mechanism for idle connections in the pool with next properties: conn_pool_ttl (default 20 min) conn_pool_min_size: the pool size limit for expire() (default 2) The problem is timeless idle connections in the pool, which can be created via some single huge workload of RPCServer. One SEND connection is heartbeat thread + some network activity every n second. So, we can reduce it. Here is two ways to implement an expiration: [1] Create a separated thread for checking expire date of connections [2] Make call expire() on pool.get() or pool.put() The [1] has some threading overhead, but probably insignificant because the thread can sleep 99% time and wake up every 20 mins (by default). Anyway current implementation is [2]. Change-Id: Ie8781d10549a044656824ceb78b2fe2e4f7f8b43
9 lines
223 B
YAML
9 lines
223 B
YAML
---
|
|
features:
|
|
- |
|
|
| Idle connections in the pool will be expired and closed.
|
|
| Default ttl is 1200s. Next configuration params was added
|
|
|
|
* *conn_pool_ttl* (defaul 1200)
|
|
* *conn_pool_min_size* (default 2)
|