Skip to content

uWSGI ワーカ並列度・タイムアウトを compose / nginx 設定で調整可能にする #100

Description

@tichi73

背景

Web (uWSGI) の同時処理数の既定が小さく、同期的に長時間ブロックする API 呼び出し(処理完了までコネクションを保持する系)が多い環境では、ワーカが埋まり Web 画面全体の応答が低下しうる。並列度・タイムアウトをデプロイ時に調整できるようにする。

対象

kompira サービス (ke2/services/kompira.yml)

uWSGI 並列度系の環境変数を environment: に追加する。既存の UWSGI_BUFFER_SIZE に倣い、「無印共通 + KOMPIRA_ 上書き」の2段形式とする。

  • UWSGI_PROCESSES
  • UWSGI_THREADS
  • UWSGI_LISTEN(listen backlog)
  • UWSGI_HARAKIRI(リクエストタイムアウト)
  • UWSGI_THUNDER_LOCK(threads 併用時の accept 公平化)

例: UWSGI_THREADS: ${KOMPIRA_UWSGI_THREADS:-${UWSGI_THREADS:-1}}

nginx (configs/nginx.conf)

現状ハードコードの uwsgi_read_timeout / uwsgi_send_timeout(300)を envsubst 変数化する。NGINX_ENVSUBST_FILTER: ^KOMPIRA のため、変数名は KOMPIRA_ 接頭辞にする。

  • 例: KOMPIRA_NGINX_UWSGI_READ_TIMEOUT / KOMPIRA_NGINX_UWSGI_SEND_TIMEOUT
  • 必要に応じて worker_connections も検討。

その他

  • 構成別(single / cluster 等)の推奨設定例、.env テンプレートへの反映。
  • これらの env は、コンテナイメージ側が当該オプションを解釈できることが前提(イメージ側の対応に追従して env 名・既定値を合わせる)。

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions