본문 바로가기

소프트웨어-이야기/인프라

[uWsgi] harakiri 옵션 - 지나치게 오래걸리는 요청 제어하기

harakiri

하라키리는 워커의 Request 처리 지연을 예방할 수 있는 uWsgi의 기능이다.

Request 처리 시간이 uWsgi에 설정한 값보다 오래 소요되는 경우, 해당 Request는 제거되고, 워커는 재사용된다.

사용법

uwsgi 설정

[uwsgi]
http = 0.0.0.0:80
harakiri = 30
...

nginx 설정

nginx의 timeout은 harakiri 설정과 동일해야, 각 기능이 기대한대로 동작하게 된다.

예를 들어, harakiri 값이 더 높으면, nginx timeout 설정이 의미 없게 된다. 반면, harakiri 설정값이 더 낮으면, harakiri 설정이 의미 없게 된다.

location / { proxy\_pass http://my\_uwsgi\_upstream; proxy\_read\_timeout 30s; proxy\_send\_timeout 30s; }

uwsgi-docs.readthedocs.io/en/latest/Glossary.html

stackoverflow.com/questions/24127601/uwsgi-request-timeout-in-python