본문 바로가기

gunicorn2

gunicorn 메모리 leak 해결하기. 파이썬에서 가장 간편한 웹 서버로 flask를 주로 이용한다. flask를 이용하다가 조금 규모가 커지거나 로직이 필요한 작업이 생기면, 이때부터 async를 고려하게 되는데, 나 같은 경우에는 gnicorn을 사용함으로써 async 문제를 풀곤 했다. 그런데 gunicorn 사용 후 어느 순간부터 메모리가 차츰 차츰 올라가는 것을 발견했다. '어.. 이거 왜 안떨어지지??' 메모리가 아주 느리지만 조금씩 올라가고 있는 것을 확인해 볼수가 있다. 엄청난 인고의 고통 속에 원인이 gunicorn이란 것을 밝혀냈다. 또한 구글에서 "gunicorn memory leak" 으로 검색해보면 나같이 메모리 릭으로 고생하고 있는 수많은 블로그들을 찾아볼 수가 있다. 원인은 gunicorn에서 생성한 worker 노.. 2021. 10. 6.
우분투에서 Django와 gunicorn + supervisor + nginx 연동 하기 요즘은 Django + Nginx 가 대세인가 보다. 구글에서 검색해 보니 많은 사람들이 이런 식으로 사용하는 것을 확인해 볼 수 있었다. 이번 기회에 나도 Django와 Nginx를 연동해 보기로 했다. 예전에 Django와 apache 연동할 때는 아파치 모듈 중에 WSGI 모듈을 설치한 다음에 conf 파일을 수정해 주었는데, 요즘은 gunicorn이라는 python package를 많이 사용하는 것 같다. WSGI 서버로는 uWSGI와 gunicorn, Apache/mod-wsgi를 많이 사용하는데, uWSGI 같은 경우에는 고성능 서버 성능을 지니고 있으며, gunicorn 같은 경우에는 보통 수준의 성능이지만 설치와 관리가 간단하다는 장점이 있다. (mod-wsgi는 별로인 걸로...) Dja.. 2017. 1. 4.