3580c2af1b
Fixes bug 1157261. Since the majority of the work keystone does is cryptographic calculations and filtering database records, keystone is CPU-bound. Given that a keystone-all process has only one thread (i.e., eventlet's thread), keystone-all's throughput is limited to the throughput of a single CPU core. To increase keystone-all's throughput, we need to increase its CPU parallelism, which entails running more keystone-all processes. This patch adds two configuration options, public_workers=N and admin_workers=N, that determine the number of keystone-all processes that handle requests for keystone's public and admin WSGI applications respectively. Note that simply running keystone-all multiple times won't work because care has to be taken for all of the worker processes to be using the same socket (i.e., listen() then fork()). DocImpact Change-Id: If74f13bc2898e880649ee809967f5b5859b793c6 Co-Authored-By: Stuart McLaren <stuart.mclaren@hp.com> |
||
---|---|---|
.. | ||
assignment | ||
auth | ||
catalog | ||
common | ||
contrib | ||
credential | ||
hacking | ||
identity | ||
locale | ||
middleware | ||
openstack | ||
policy | ||
tests | ||
token | ||
trust | ||
__init__.py | ||
backends.py | ||
clean.py | ||
cli.py | ||
config.py | ||
controllers.py | ||
exception.py | ||
notifications.py | ||
routers.py | ||
service.py |