Change keystone/gunicorn worker class from eventlet to threaded

Process scheduling data has showed that the threaded worker type is
9 to 10% more CPU efficient than the eventlet worker type.

This change sets gthread as worker type and sets the number of threads
to 2.

Test plan:

PASS: Run a full build, install, bootstrap and unlock.
PASS: Check alarms with 'fm alarm-list'
PASS: Install DC system with a subcloud. Fm alarm list.

Closes-Bug: 2083613

Change-Id: I8a83295dc67bf5ef62bafbcbd19fbf117f46f854
Signed-off-by: Rei Oliveira <Reinildes.JoseMateusOliveira@windriver.com>
This commit is contained in:
Rei Oliveira 2024-10-01 11:30:53 -03:00
parent 43a520c1e9
commit addbd5cd23

View File

@ -127,7 +127,7 @@ new file mode 100644
index 000000000..de339caa6
--- /dev/null
+++ b/debian/stx/keystone-all
@@ -0,0 +1,156 @@
@@ -0,0 +1,157 @@
+#!/bin/sh
+# Copyright (c) 2013-2018 Wind River Systems, Inc.
+#
@ -167,7 +167,8 @@ index 000000000..de339caa6
+###
+EXEC="/usr/bin/gunicorn"
+
+WORKER="eventlet"
+WORKER="gthread"
+THREADS=2
+# Increased timeout to facilitate large image uploads
+TIMEOUT="200"
+
@ -220,9 +221,9 @@ index 000000000..de339caa6
+
+ start-stop-daemon --start --quiet --background --pidfile ${PIDFILE_PUBLIC} \
+ --make-pidfile --exec ${PYTHON} -- ${EXEC} --bind ${BIND_PUBLIC} \
+ --worker-class ${WORKER} --workers ${TIS_WORKERS} --timeout ${TIMEOUT} \
+ --max-requests ${MAX_REQUESTS} --max-requests-jitter ${MAX_REQ_JITTER_PUBLIC} \
+ --log-syslog \
+ --worker-class ${WORKER} --workers ${TIS_WORKERS} --threads ${THREADS} \
+ --timeout ${TIMEOUT} --max-requests ${MAX_REQUESTS} \
+ --max-requests-jitter ${MAX_REQ_JITTER_PUBLIC} --log-syslog \
+ --pythonpath '/usr/share/keystone' public:application --name keystone-public
+
+ RETVAL=$?