Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 도커
- SQL
- Wil
- 장고
- ERD
- 파이썬
- github
- 세션(Session)
- 티스토리챌린지
- viewsets
- git
- JWT
- 개발공부
- 연습
- 오블완
- flask
- Doker
- Python
- 쿠키(cookie)
- 코딩테스트
- web
- CS
- django
- 아티클 스터디
- 자료구조
- nginx
- docker
- redis
- Til
- NoSQL
Archives
- Today
- Total
SteadyDrills
Gunicorn란? 본문
241107
Gunicorn
Python WSGI(Web Server Gateway Interface) HTTP 서버로, 웹 애플리케이션을 배포할 때 주로 사용된다. Gunicorn은 다중 프로세스 구조를 기반으로 하여, 여러 개의 워커 프로세스를 통해 요청을 처리한다. 이를 통해 높은 성능과 안정성을 제공할 수 있다.
* WSGI(Web Server Gateway Interface) HTTP 서버란?
Python 웹 애플리케이션과 웹 서버 간의 인터페이스를 정의하는 표준입니다. WSGI는 Python 웹 프레임워크와 웹 서버 간의 통신을 가능하게 한다.
장점
- 성능: 다중 프로세스 아키텍처 덕분에 여러 요청을 동시에 처리할 수 있어 성능이 좋다.
- 단순성: 설정이 간단하고 사용하기 쉬워 개발자들이 빠르게 배포할 수 있습니다.
- 호환성: WSGI를 지원하는 모든 Python 웹 프레임워크와 호환됩니다.
- 유연성: 다양한 워커 클래스(동기, 비동기 등)를 지원하여 사용자의 필요에 맞게 조정할 수 있다.
- 관리 도구: 프로세스 관리를 위한 다양한 옵션을 제공하여, 서버 상태를 모니터링하고 관리하기 용이하다.
단점
- 메모리 사용량: 다중 프로세스 구조로 인해 메모리 소비가 많을 수 있다. 또한 워커 수에 따라 메모리 사용량이 급격히 증가할 수 있다.
- 복잡한 설정: 기본적인 설정은 간단하지만, 대규모 애플리케이션의 경우 최적화된 설정을 위해 추가적인 구성이 필요할 수 있다.
- 비동기 처리 제한: 기본적으로 동기 처리 방식이기 때문에, 비동기 처리가 필요한 경우 추가적인 설정이 필요하다.( ex gevent, eventlet 등의 프레임 워크)
내가 생각한 사용 이유
파이썬으로 제작된 웹 프레임 워크와의 호환이 좋고, Nginx와 같은 웹 서버와 쉽게 통합하여 사용할 수 있기 때문이다. Nginx는 정적 파일을 처리하고 SSL을 관리하며, Gunicorn은 동적 요청을 처리하는 역할을 맡는 구조가 대부분인 것은 그만큼 효율과 성능이 좋아서 인거 같다.
'웹개발' 카테고리의 다른 글
SQLite란? (4) | 2024.11.13 |
---|---|
Redis란? (1) | 2024.11.08 |
NGINX란? (1) | 2024.11.06 |
Process Flow란? (0) | 2024.09.23 |
Team project - blame news 3일 ~7일 차(완성) (0) | 2024.09.20 |