Library for running OpenStack services
321c185f3d
It turned out that distribution of WSGI requests between forks is not even when eventlet is used, which can cause pool timeout issues under load, while there are idle workers with open DB connections, which should have served these HTTP requests. The default number of greenthreads in pool should be decreased to allow DB oriented services (mostly APIs) distribute load more evenly between workers: one worker will stop accepting new requests, when there are no more available greenthreads in the wsgi pool, accept() will block, but there are other forks accept()'ing on the same FD to handle connections from the queue in kernel. Related change to oslo.db: I2e9c2a71d8231e0dfbefc6293ad319e1e459beec Testing was performed using this script: https://gist.github.com/zzzeek/c69138fd0d0b3e553a1f With 100 greenthreads in the pool, 50 DB connections allowed overflow no pool timeout issues were seen with up to 500 concurrent requests done by ab, while current default values (1000/10) could not handle even 100 concurrent requests. See this ML thread for details: http://lists.openstack.org/pipermail/openstack-dev/2015-December/082717.html Closes-Bug: #1535375 Change-Id: I65b40b9906b75146a0085bbe168f1e6bcae82f21 |
||
---|---|---|
doc/source | ||
oslo_service | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
babel.cfg | ||
bandit.yaml | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
oslo.service -- Library for running OpenStack services
oslo.service provides a framework for defining new long-running services using the patterns established by other OpenStack applications. It also includes utilities long-running applications might need for working with SSL or WSGI, performing periodic operations, interacting with systemd, etc.
- Free software: Apache license
- Documentation: http://docs.openstack.org/developer/oslo.service
- Source: http://git.openstack.org/cgit/openstack/oslo.service
- Bugs: http://bugs.launchpad.net/oslo.service