forked from Ponysearch/Ponysearch
Docker: add UWSGI_WORKERS and UWSGI_THREAD environment variables (#2992)
* Docker: add UWSGI_WORKERS and UWSGI_THREAD. UWSGI_WORKERS specifies the number of process. UWSGI_THREADS specifies the number of threads. The Docker convention is to specify the whole configuration through environment variables. While not done in SearXNG, these two additional variables allows admins to skip uwsgi.ini In additional, https://github.com/searxng/preview-environments starts Docker without additional files through searxng-helm-chat. Each instance consumes 1Go of RAM which is a lot especially when there are a lot of instances / pull requests. * [scripts] add environments UWSGI_WORKERS and UWSGI_THREADS - UWSGI_WORKERS specifies the number of process. - UWSGI_THREADS specifies the number of threads. Templates for uwsgi scripts can be tested by:: UWSGI_WORKERS=8 UWSGI_THREADS=9 \ ./utils/searxng.sh --cmd\ eval "echo \"$(cat utils/templates/etc/uwsgi/*/searxng.ini*)\""\ | grep "workers\|threads" Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> --------- Signed-off-by: Markus Heiser <markus.heiser@darmarit.de> Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
7b1951aa97
commit
bd3f526859
8 changed files with 25 additions and 3 deletions
|
@ -15,7 +15,9 @@ ENV INSTANCE_NAME=searxng \
|
|||
MORTY_KEY= \
|
||||
MORTY_URL= \
|
||||
SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml \
|
||||
UWSGI_SETTINGS_PATH=/etc/searxng/uwsgi.ini
|
||||
UWSGI_SETTINGS_PATH=/etc/searxng/uwsgi.ini \
|
||||
UWSGI_WORKERS=%k \
|
||||
UWSGI_THREADS=4
|
||||
|
||||
WORKDIR /usr/local/searxng
|
||||
|
||||
|
|
|
@ -4,8 +4,12 @@ uid = searxng
|
|||
gid = searxng
|
||||
|
||||
# Number of workers (usually CPU count)
|
||||
workers = %k
|
||||
threads = 4
|
||||
# default value: %k (= number of CPU core, see Dockerfile)
|
||||
workers = $(UWSGI_WORKERS)
|
||||
|
||||
# Number of threads per worker
|
||||
# default value: 4 (see Dockerfile)
|
||||
threads = $(UWSGI_THREADS)
|
||||
|
||||
# The right granted on the created socket
|
||||
chmod-socket = 666
|
||||
|
|
|
@ -92,6 +92,9 @@ instance using `docker run <https://docs.docker.com/engine/reference/run/>`_:
|
|||
searxng/searxng
|
||||
2f998.... # container's ID
|
||||
|
||||
The environment variables UWSGI_WORKERS and UWSGI_THREADS overwrite the default
|
||||
number of UWSGI processes and UWSGI threads specified in `/etc/searxng/uwsgi.ini`.
|
||||
|
||||
Open your WEB browser and visit the URL:
|
||||
|
||||
.. code:: sh
|
||||
|
|
|
@ -177,6 +177,7 @@ main() {
|
|||
|
||||
case $1 in
|
||||
--getenv) var="$2"; echo "${!var}"; exit 0;;
|
||||
--cmd) shift; "$@";;
|
||||
-h|--help) usage; exit 0;;
|
||||
install)
|
||||
sudo_or_exit
|
||||
|
|
|
@ -47,6 +47,9 @@ plugin = python
|
|||
# default behaviour is for performance reasons.
|
||||
enable-threads = true
|
||||
|
||||
# Number of workers (usually CPU count)
|
||||
workers = ${UWSGI_WORKERS:-%k}
|
||||
threads = ${UWSGI_THREADS:-4}
|
||||
|
||||
# plugin: python
|
||||
# --------------
|
||||
|
|
|
@ -47,6 +47,9 @@ plugin = python
|
|||
# default behaviour is for performance reasons.
|
||||
enable-threads = true
|
||||
|
||||
# Number of workers (usually CPU count)
|
||||
workers = ${UWSGI_WORKERS:-%k}
|
||||
threads = ${UWSGI_THREADS:-4}
|
||||
|
||||
# plugin: python
|
||||
# --------------
|
||||
|
|
|
@ -50,6 +50,9 @@ plugin = python3,http
|
|||
# default behaviour is for performance reasons.
|
||||
enable-threads = true
|
||||
|
||||
# Number of workers (usually CPU count)
|
||||
workers = ${UWSGI_WORKERS:-%k}
|
||||
threads = ${UWSGI_THREADS:-4}
|
||||
|
||||
# plugin: python
|
||||
# --------------
|
||||
|
|
|
@ -50,6 +50,9 @@ plugin = python3,http
|
|||
# default behaviour is for performance reasons.
|
||||
enable-threads = true
|
||||
|
||||
# Number of workers (usually CPU count)
|
||||
workers = ${UWSGI_WORKERS:-%k}
|
||||
threads = ${UWSGI_THREADS:-4}
|
||||
|
||||
# plugin: python
|
||||
# --------------
|
||||
|
|
Loading…
Reference in a new issue