|
|
2737e7 |
From 6110a949aee9c98ab077c9cd907881ad82be5f45 Mon Sep 17 00:00:00 2001
|
|
|
2737e7 |
From: Christian Heimes <cheimes@redhat.com>
|
|
|
2737e7 |
Date: Thu, 14 Jun 2018 17:04:13 +0200
|
|
|
2737e7 |
Subject: [PATCH] Increase WSGI process count to 5 on 64bit
|
|
|
2737e7 |
|
|
|
2737e7 |
Increase the WSGI daemon worker process count from 2 processes to 5
|
|
|
2737e7 |
processes. This allows IPA RPC to handle more parallel requests. The
|
|
|
2737e7 |
additional processes increase memory consumption by approximante 250 MB
|
|
|
2737e7 |
in total.
|
|
|
2737e7 |
|
|
|
2737e7 |
Since memory is scarce on 32bit platforms, only 64bit platforms are
|
|
|
2737e7 |
bumped to 5 workers.
|
|
|
2737e7 |
|
|
|
2737e7 |
Fixes: https://pagure.io/freeipa/issue/7587
|
|
|
2737e7 |
Signed-off-by: Christian Heimes <cheimes@redhat.com>
|
|
|
2737e7 |
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
|
|
|
2737e7 |
---
|
|
|
2737e7 |
install/conf/ipa.conf | 2 +-
|
|
|
2737e7 |
ipaplatform/base/constants.py | 5 +++++
|
|
|
2737e7 |
ipaserver/install/httpinstance.py | 1 +
|
|
|
2737e7 |
ipaserver/install/server/upgrade.py | 3 ++-
|
|
|
2737e7 |
4 files changed, 9 insertions(+), 2 deletions(-)
|
|
|
2737e7 |
|
|
|
2737e7 |
diff --git a/install/conf/ipa.conf b/install/conf/ipa.conf
|
|
|
2737e7 |
index 01bf9a4f97fc0cf197c0ad12743affa597b54911..34ced2ab9d91ae174a42a580e1c4f9436c1a8c3b 100644
|
|
|
2737e7 |
--- a/install/conf/ipa.conf
|
|
|
2737e7 |
+++ b/install/conf/ipa.conf
|
|
|
2737e7 |
@@ -51,7 +51,7 @@ WSGISocketPrefix /run/httpd/wsgi
|
|
|
2737e7 |
|
|
|
2737e7 |
|
|
|
2737e7 |
# Configure mod_wsgi handler for /ipa
|
|
|
2737e7 |
-WSGIDaemonProcess ipa processes=2 threads=1 maximum-requests=500 \
|
|
|
2737e7 |
+WSGIDaemonProcess ipa processes=$WSGI_PROCESSES threads=1 maximum-requests=500 \
|
|
|
2737e7 |
user=ipaapi group=ipaapi display-name=%{GROUP} socket-timeout=2147483647
|
|
|
2737e7 |
WSGIImportScript /usr/share/ipa/wsgi.py process-group=ipa application-group=ipa
|
|
|
2737e7 |
WSGIScriptAlias /ipa /usr/share/ipa/wsgi.py
|
|
|
2737e7 |
diff --git a/ipaplatform/base/constants.py b/ipaplatform/base/constants.py
|
|
|
2737e7 |
index dccb0e7191cb0d9644eb286b9ec061599afa3980..db250d9a40466e852453e7309c704a6897c6bcf8 100644
|
|
|
2737e7 |
--- a/ipaplatform/base/constants.py
|
|
|
2737e7 |
+++ b/ipaplatform/base/constants.py
|
|
|
2737e7 |
@@ -5,9 +5,11 @@
|
|
|
2737e7 |
'''
|
|
|
2737e7 |
This base platform module exports platform dependant constants.
|
|
|
2737e7 |
'''
|
|
|
2737e7 |
+import sys
|
|
|
2737e7 |
|
|
|
2737e7 |
|
|
|
2737e7 |
class BaseConstantsNamespace(object):
|
|
|
2737e7 |
+ IS_64BITS = sys.maxsize > 2 ** 32
|
|
|
2737e7 |
DS_USER = 'dirsrv'
|
|
|
2737e7 |
DS_GROUP = 'dirsrv'
|
|
|
2737e7 |
HTTPD_USER = "apache"
|
|
|
2737e7 |
@@ -28,3 +30,6 @@ class BaseConstantsNamespace(object):
|
|
|
2737e7 |
# nfsd init variable used to enable kerberized NFS
|
|
|
2737e7 |
SECURE_NFS_VAR = "SECURE_NFS"
|
|
|
2737e7 |
SSSD_USER = "sssd"
|
|
|
2737e7 |
+ # WSGIDaemonProcess process count. On 64bit platforms, each process
|
|
|
2737e7 |
+ # consumes about 110 MB RSS, from which are about 35 MB shared.
|
|
|
2737e7 |
+ WSGI_PROCESSES = 5 if IS_64BITS else 2
|
|
|
2737e7 |
diff --git a/ipaserver/install/httpinstance.py b/ipaserver/install/httpinstance.py
|
|
|
2737e7 |
index e68bfc09b34e087dfb4872b6565b06c6c2188384..7081c7418e76afbd1b4ae28deafefb6b264c62f0 100644
|
|
|
2737e7 |
--- a/ipaserver/install/httpinstance.py
|
|
|
2737e7 |
+++ b/ipaserver/install/httpinstance.py
|
|
|
2737e7 |
@@ -152,6 +152,7 @@ class HTTPInstance(service.Service):
|
|
|
2737e7 |
DOMAIN=self.domain,
|
|
|
2737e7 |
AUTOREDIR='' if auto_redirect else '#',
|
|
|
2737e7 |
CRL_PUBLISH_PATH=paths.PKI_CA_PUBLISH_DIR,
|
|
|
2737e7 |
+ WSGI_PROCESSES=constants.WSGI_PROCESSES,
|
|
|
2737e7 |
)
|
|
|
2737e7 |
self.ca_file = ca_file
|
|
|
2737e7 |
if ca_is_configured is not None:
|
|
|
2737e7 |
diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py
|
|
|
2737e7 |
index 793092be86da687fd21cf2c0ef3608f32fcf9f16..667b9d214ce76031b5d0f205e03ddb46178e9b2f 100644
|
|
|
2737e7 |
--- a/ipaserver/install/server/upgrade.py
|
|
|
2737e7 |
+++ b/ipaserver/install/server/upgrade.py
|
|
|
2737e7 |
@@ -1615,7 +1615,8 @@ def upgrade_configuration():
|
|
|
2737e7 |
AUTOREDIR='' if auto_redirect else '#',
|
|
|
2737e7 |
CRL_PUBLISH_PATH=paths.PKI_CA_PUBLISH_DIR,
|
|
|
2737e7 |
DOGTAG_PORT=8009,
|
|
|
2737e7 |
- CLONE='#'
|
|
|
2737e7 |
+ CLONE='#',
|
|
|
2737e7 |
+ WSGI_PROCESSES=constants.WSGI_PROCESSES,
|
|
|
2737e7 |
)
|
|
|
2737e7 |
|
|
|
2737e7 |
subject_base = find_subject_base()
|
|
|
2737e7 |
--
|
|
|
2737e7 |
2.17.1
|
|
|
2737e7 |
|