apache wsgi: Exchange defaults for workers and threads

Due to Python's GIL [1], we can't use multiple threads for running
OpenStack services without a performance penalty, since the execution
ends up serialized, which defeats the purpose.

Instead, we should use several processes, since this approach doesn't
have this limitation.

[1] https://wiki.python.org/moin/GlobalInterpreterLock

Change-Id: I116df85f259528d547a958850b9c3793d01e2a45
This commit is contained in:
Juan Antonio Osorio Robles 2017-10-13 08:49:12 +03:00
parent 23baad4a6a
commit 7a137e2355
7 changed files with 22 additions and 22 deletions

View File

@ -46,7 +46,7 @@
# #
# [*workers*] # [*workers*]
# Number of WSGI workers to spawn. # Number of WSGI workers to spawn.
# Optional. Defaults to 1 # Optional. Defaults to $::os_workers
# #
# [*priority*] # [*priority*]
# (optional) The priority for the vhost. # (optional) The priority for the vhost.
@ -54,7 +54,7 @@
# #
# [*threads*] # [*threads*]
# (optional) The number of threads for the vhost. # (optional) The number of threads for the vhost.
# Defaults to $::os_workers # Defaults to 1
# #
# [*ssl_cert*] # [*ssl_cert*]
# [*ssl_key*] # [*ssl_key*]
@ -105,7 +105,7 @@ define heat::wsgi::apache (
$bind_host = undef, $bind_host = undef,
$path = '/', $path = '/',
$ssl = true, $ssl = true,
$workers = 1, $workers = $::os_workers,
$ssl_cert = undef, $ssl_cert = undef,
$ssl_key = undef, $ssl_key = undef,
$ssl_chain = undef, $ssl_chain = undef,
@ -113,7 +113,7 @@ define heat::wsgi::apache (
$ssl_crl_path = undef, $ssl_crl_path = undef,
$ssl_crl = undef, $ssl_crl = undef,
$ssl_certs_dir = undef, $ssl_certs_dir = undef,
$threads = $::os_workers, $threads = 1,
$priority = '10', $priority = '10',
$vhost_custom_fragment = undef, $vhost_custom_fragment = undef,
$access_log_file = false, $access_log_file = false,

View File

@ -41,7 +41,7 @@
# #
# [*workers*] # [*workers*]
# Number of WSGI workers to spawn. # Number of WSGI workers to spawn.
# Optional. Defaults to 1 # Optional. Defaults to $::os_workers
# #
# [*priority*] # [*priority*]
# (optional) The priority for the vhost. # (optional) The priority for the vhost.
@ -49,7 +49,7 @@
# #
# [*threads*] # [*threads*]
# (optional) The number of threads for the vhost. # (optional) The number of threads for the vhost.
# Defaults to $::os_workers # Defaults to 1
# #
# [*ssl_cert*] # [*ssl_cert*]
# [*ssl_key*] # [*ssl_key*]
@ -85,7 +85,7 @@ class heat::wsgi::apache_api (
$bind_host = undef, $bind_host = undef,
$path = '/', $path = '/',
$ssl = true, $ssl = true,
$workers = 1, $workers = $::os_workers,
$ssl_cert = undef, $ssl_cert = undef,
$ssl_key = undef, $ssl_key = undef,
$ssl_chain = undef, $ssl_chain = undef,
@ -93,7 +93,7 @@ class heat::wsgi::apache_api (
$ssl_crl_path = undef, $ssl_crl_path = undef,
$ssl_crl = undef, $ssl_crl = undef,
$ssl_certs_dir = undef, $ssl_certs_dir = undef,
$threads = $::os_workers, $threads = 1,
$priority = '10', $priority = '10',
$custom_wsgi_process_options = {}, $custom_wsgi_process_options = {},
) { ) {

View File

@ -41,7 +41,7 @@
# #
# [*workers*] # [*workers*]
# Number of WSGI workers to spawn. # Number of WSGI workers to spawn.
# Optional. Defaults to 1 # Optional. Defaults to $::os_workers
# #
# [*priority*] # [*priority*]
# (optional) The priority for the vhost. # (optional) The priority for the vhost.
@ -49,7 +49,7 @@
# #
# [*threads*] # [*threads*]
# (optional) The number of threads for the vhost. # (optional) The number of threads for the vhost.
# Defaults to $::os_workers # Defaults to 1
# #
# [*ssl_cert*] # [*ssl_cert*]
# [*ssl_key*] # [*ssl_key*]
@ -85,7 +85,7 @@ class heat::wsgi::apache_api_cfn (
$bind_host = undef, $bind_host = undef,
$path = '/', $path = '/',
$ssl = true, $ssl = true,
$workers = 1, $workers = $::os_workers,
$ssl_cert = undef, $ssl_cert = undef,
$ssl_key = undef, $ssl_key = undef,
$ssl_chain = undef, $ssl_chain = undef,
@ -93,7 +93,7 @@ class heat::wsgi::apache_api_cfn (
$ssl_crl_path = undef, $ssl_crl_path = undef,
$ssl_crl = undef, $ssl_crl = undef,
$ssl_certs_dir = undef, $ssl_certs_dir = undef,
$threads = $::os_workers, $threads = 1,
$priority = '10', $priority = '10',
$custom_wsgi_process_options = {}, $custom_wsgi_process_options = {},
) { ) {

View File

@ -41,7 +41,7 @@
# #
# [*workers*] # [*workers*]
# Number of WSGI workers to spawn. # Number of WSGI workers to spawn.
# Optional. Defaults to 1 # Optional. Defaults to $::os_workers
# #
# [*priority*] # [*priority*]
# (optional) The priority for the vhost. # (optional) The priority for the vhost.
@ -49,7 +49,7 @@
# #
# [*threads*] # [*threads*]
# (optional) The number of threads for the vhost. # (optional) The number of threads for the vhost.
# Defaults to $::os_workers # Defaults to 1
# #
# [*ssl_cert*] # [*ssl_cert*]
# [*ssl_key*] # [*ssl_key*]
@ -85,7 +85,7 @@ class heat::wsgi::apache_api_cloudwatch (
$bind_host = undef, $bind_host = undef,
$path = '/', $path = '/',
$ssl = true, $ssl = true,
$workers = 1, $workers = $::os_workers,
$ssl_cert = undef, $ssl_cert = undef,
$ssl_key = undef, $ssl_key = undef,
$ssl_chain = undef, $ssl_chain = undef,
@ -93,7 +93,7 @@ class heat::wsgi::apache_api_cloudwatch (
$ssl_crl_path = undef, $ssl_crl_path = undef,
$ssl_crl = undef, $ssl_crl = undef,
$ssl_certs_dir = undef, $ssl_certs_dir = undef,
$threads = $::os_workers, $threads = 1,
$priority = '10', $priority = '10',
$custom_wsgi_process_options = {}, $custom_wsgi_process_options = {},
) { ) {

View File

@ -11,14 +11,14 @@ describe 'heat::wsgi::apache_api_cfn' do
:bind_host => nil, :bind_host => nil,
:path => '/', :path => '/',
:ssl => true, :ssl => true,
:workers => 1, :workers => facts[:os_workers],
:ssl_cert => nil, :ssl_cert => nil,
:ssl_key => nil, :ssl_key => nil,
:ssl_chain => nil, :ssl_chain => nil,
:ssl_ca => nil, :ssl_ca => nil,
:ssl_crl_path => nil, :ssl_crl_path => nil,
:ssl_certs_dir => nil, :ssl_certs_dir => nil,
:threads => facts[:os_workers], :threads => 1,
:priority => 10, :priority => 10,
:custom_wsgi_process_options => {}, :custom_wsgi_process_options => {},
:access_log_file => false, :access_log_file => false,

View File

@ -11,14 +11,14 @@ describe 'heat::wsgi::apache_api_cloudwatch' do
:bind_host => nil, :bind_host => nil,
:path => '/', :path => '/',
:ssl => true, :ssl => true,
:workers => 1, :workers => facts[:os_workers],
:ssl_cert => nil, :ssl_cert => nil,
:ssl_key => nil, :ssl_key => nil,
:ssl_chain => nil, :ssl_chain => nil,
:ssl_ca => nil, :ssl_ca => nil,
:ssl_crl_path => nil, :ssl_crl_path => nil,
:ssl_certs_dir => nil, :ssl_certs_dir => nil,
:threads => facts[:os_workers], :threads => 1,
:priority => 10, :priority => 10,
:custom_wsgi_process_options => {}, ) :custom_wsgi_process_options => {}, )
} }

View File

@ -11,14 +11,14 @@ describe 'heat::wsgi::apache_api' do
:bind_host => nil, :bind_host => nil,
:path => '/', :path => '/',
:ssl => true, :ssl => true,
:workers => 1, :workers => facts[:os_workers],
:ssl_cert => nil, :ssl_cert => nil,
:ssl_key => nil, :ssl_key => nil,
:ssl_chain => nil, :ssl_chain => nil,
:ssl_ca => nil, :ssl_ca => nil,
:ssl_crl_path => nil, :ssl_crl_path => nil,
:ssl_certs_dir => nil, :ssl_certs_dir => nil,
:threads => facts[:os_workers], :threads => 1,
:priority => 10, :priority => 10,
:custom_wsgi_process_options => {}, :custom_wsgi_process_options => {},
:access_log_file => false, :access_log_file => false,