Gunicorn

GreenBean·2021년 8월 16일
1
post-thumbnail

Gunicorn

Gunicorn이란?

  • Gunicorn은 WSGI 기술의 일종

Tip! WSGI란?

  • 파이썬 애플리케이션(파이썬 스크립트)이 웹 서버와 통신하기 위한 인터페이스
  • 웹 서버에서의 요청을 해석하여 파이썬 애플리케이션 쪽으로 던지는 역할을 수행
  • Gunicorn은 파이썬 WSGI로, 웹 서버로부터 서버사이드 요청을 받으면 WSGI를 통해 서버 애플리케이션(Django)으로 전달해주는 역할을 수행
  • Django의 runserver 역시도 똑같은 역할을 수행하지만 단일 쓰레드로 동작하기 때문에 Requset 요청이 많아질 경우 처리능력은 현저히 떨어지게 됨
    • 따라서 Production 환경에서는 사용할 수 없음

Produciton 환경에 적합한 Gunicorn

  • WSGI는 멀티 쓰레드를 만들 수 있기 때문에 Requset 요청이 많아지더라도 효율적으로 처리할 수 있음
    • 즉, production 환경에 적합하다.

Django와 웹 서버 사이 전달자의 역할을 하는 Gunicorn

  • 웹 서버와 Django 사이에서 Request를 처리해주는 역할을 하는 과정에서 WSGI를 사용하게 되는데 파이썬에서 대표적인 WSGI는 uWSGI, gunicorn이 존재
  • 두개 중 gunicorn의 퍼포먼스가 조금 더 좋고 가볍다는 의견이 다수이기 때문에 gunicorn을 사용하는 경우가 많음
profile
🌱 Backend-Dev | hwaya2828@gmail.com

0개의 댓글