Reduce the number of workers spawned by services

This PS reduces the number of processes spawned by services, as
with Kubernetes load distribution can be better managed by a larger
number of single threaded pods (up to a certain point) and doing so
also provides both increased avilibility, leading to smoother rolling
updates. In addtion when running single replicas resource consuption
is reduced.

Change-Id: Ifb7494a0804913d843a072e10d26c6ec53c3bd16
This commit is contained in:
Pete Birley 2018-03-09 00:16:45 +00:00
parent 05d1123497
commit 02767f6d76
5 changed files with 11 additions and 8 deletions

View File

@ -443,7 +443,7 @@ conf:
use_stderr: true use_stderr: true
enable_v1_api: false enable_v1_api: false
volume_name_template: "%s" volume_name_template: "%s"
osapi_volume_workers: 8 osapi_volume_workers: 1
glance_api_version: 2 glance_api_version: 2
os_region_name: RegionOne os_region_name: RegionOne
host: cinder-volume-worker host: cinder-volume-worker

View File

@ -218,6 +218,7 @@ conf:
#NOTE(portdirect): the bind port should not be defined, and is manipulated #NOTE(portdirect): the bind port should not be defined, and is manipulated
# via the endpoints section. # via the endpoints section.
bind_port: null bind_port: null
workers: 1
keystone_authtoken: keystone_authtoken:
auth_type: password auth_type: password
auth_version: v3 auth_version: v3
@ -266,6 +267,7 @@ conf:
#NOTE(portdirect): the bind port should not be defined, and is manipulated #NOTE(portdirect): the bind port should not be defined, and is manipulated
# via the endpoints section. # via the endpoints section.
bind_port: null bind_port: null
workers: 1
keystone_authtoken: keystone_authtoken:
auth_type: password auth_type: password
auth_version: v3 auth_version: v3

View File

@ -210,7 +210,7 @@ conf:
resource_types:OS::Cinder::QoSSpecs: rule:project_admin resource_types:OS::Cinder::QoSSpecs: rule:project_admin
heat: heat:
DEFAULT: DEFAULT:
num_engine_workers: 4 num_engine_workers: 1
trusts_delegated_roles: "" trusts_delegated_roles: ""
host: heat-engine host: heat-engine
keystone_authtoken: keystone_authtoken:
@ -226,17 +226,17 @@ conf:
#NOTE(portdirect): the bind port should not be defined, and is manipulated #NOTE(portdirect): the bind port should not be defined, and is manipulated
# via the endpoints section. # via the endpoints section.
bind_port: null bind_port: null
workers: 4 workers: 1
heat_api_cloudwatch: heat_api_cloudwatch:
#NOTE(portdirect): the bind port should not be defined, and is manipulated #NOTE(portdirect): the bind port should not be defined, and is manipulated
# via the endpoints section. # via the endpoints section.
bind_port: null bind_port: null
workers: 4 workers: 1
heat_api_cfn: heat_api_cfn:
#NOTE(portdirect): the bind port should not be defined, and is manipulated #NOTE(portdirect): the bind port should not be defined, and is manipulated
# via the endpoints section. # via the endpoints section.
bind_port: null bind_port: null
workers: 4 workers: 1
paste_deploy: paste_deploy:
api_paste_config: /etc/heat/api-paste.ini api_paste_config: /etc/heat/api-paste.ini
clients: clients:

View File

@ -25,7 +25,7 @@ CustomLog /dev/stdout combined env=!forwarded
CustomLog /dev/stdout proxy env=forwarded CustomLog /dev/stdout proxy env=forwarded
<VirtualHost *:{{ tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}> <VirtualHost *:{{ tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
WSGIDaemonProcess keystone-public processes=1 threads=4 user=keystone group=keystone display-name=%{GROUP} WSGIDaemonProcess keystone-public processes=1 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public WSGIProcessGroup keystone-public
WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-public WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL} WSGIApplicationGroup %{GLOBAL}
@ -41,7 +41,7 @@ CustomLog /dev/stdout proxy env=forwarded
</VirtualHost> </VirtualHost>
<VirtualHost *:{{ tuple "identity" "internal" "admin" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}> <VirtualHost *:{{ tuple "identity" "internal" "admin" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}>
WSGIDaemonProcess keystone-admin processes=1 threads=4 user=keystone group=keystone display-name=%{GROUP} WSGIDaemonProcess keystone-admin processes=1 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin WSGIProcessGroup keystone-admin
WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-admin WSGIScriptAlias / /var/www/cgi-bin/keystone/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL} WSGIApplicationGroup %{GLOBAL}

View File

@ -954,7 +954,8 @@ conf:
# via the endpoints section. # via the endpoints section.
bind_port: null bind_port: null
default_availability_zones: nova default_availability_zones: nova
api_workers: 4 api_workers: 1
rpc_workers: 1
allow_overlapping_ips: True allow_overlapping_ips: True
# core_plugin can be: ml2, calico # core_plugin can be: ml2, calico
core_plugin: ml2 core_plugin: ml2