Adjust default Keystone httpd processes and threads

This patch sets the Apache threads and processes for Keystone to match
the recommendations based on performance testing done by the Keystone
core team.

This resolves an issue where the cryptography library will not allow
multiple threads to register the osrandom engine.

To compensate for the reduction in threads, the number of processes has
been increased. Both the values remain tunable to suit a deployers needs.

Change-Id: I1e94a91642b904b865ddf56983239838ed9a15e6
Closes-Bug: #1497283
This commit is contained in:
Jesse Pretorius 2015-09-18 14:29:46 +01:00
parent 6ff056a9eb
commit 0513c950fb
2 changed files with 6 additions and 2 deletions

View File

@ -131,8 +131,8 @@ keystone_service_adminurl: "{{ keystone_service_adminurl_v3 }}"
keystone_apache_log_level: info
keystone_apache_servertokens: "Prod"
keystone_apache_serversignature: "Off"
keystone_wsgi_threads: "{{ ansible_processor_vcpus | default(2) // 2 }}"
keystone_wsgi_processes: "{{ ansible_processor_vcpus | default(1) }}"
keystone_wsgi_threads: 1
keystone_wsgi_processes: "{{ ansible_processor_vcpus | default (1) * 2 }}"
# set keystone_ssl to true to enable SSL configuration on the keystone containers
keystone_ssl: false

View File

@ -91,6 +91,10 @@ echo "lxc_net_address: 10.255.255.1" | tee -a /etc/openstack_deploy/user_variabl
echo "lxc_net_netmask: 255.255.255.0" | tee -a /etc/openstack_deploy/user_variables.yml
echo "lxc_net_dhcp_range: 10.255.255.2,10.255.255.253" | tee -a /etc/openstack_deploy/user_variables.yml
# Limit the number of processes used by Keystone
# The defaults cause tempest failures in OpenStack CI due to resource constraints
echo "keystone_wsgi_processes: 4" | tee -a /etc/openstack_deploy/user_variables.yml
# Disable the python output buffering so that jenkins gets the output properly
export PYTHONUNBUFFERED=1