본문 바로가기

GiL2

FastAPI의 Uvicorn + Gunicorn 결합은 반드시 필요한 것인가? 개요 FastAPI는 비동기 프레임워크로 ASGI 서버를 지원하는 Uvicorn 과 함께 기동되어 사용된다. 다른 Flask, Django와 비교하여 성능이 2배정도 빠르다고 알려져있다. 하지만 성능이 빠르다고한들 개발자가 사용방법을 모르고 개발한다면 제대로 된 성능을 끌어올리기에는 어려움이 있을 수 있다. 우리는 정말 제대로 알고 사용하고 있는것인가? 이번 포스팅에서는 Uvicorn이 반드시 Guicorn과 결합이 필요한지에 대하여 알아보고자한다. 배경지식 Gunicorn이란 무엇인가? Gunicorn 은 WSGI 프로토콜을 사용하여 웹 애플리케이션과 상호 작용하는 서버이자 프로세스 관리자이다. Flask 또는 Django 와 같은 WSGI 동기식 웹 프레임워크로 작성된 애플리케이션을 제공한다. Gun.. 2024. 4. 10.
Python GIL (Global Interpreter Lock)에 대해 알아보자 저번에 학습한 이론대로라면 Thread 2개를 만들어서 실행하면 아래와 같은 그림으로 동작된다고 생각할 수 밖에 없다. (참조 : https://yscho03.tistory.com/293) 하지만 파이썬은 아래와 같이 동작하지 않는다. 파이썬에는 GIL(Global Interpreter Lock) 이 있기때문에 스레드에서 한 번에 하나의 스레드만 Python 바이트코드를 실행한다. GIL(Global Interpreter Lock) GIL(Global Interpreter Lock)은 CPython 인터프리터(파이썬의 표준 구현체)에서 사용되는 개념이다. GIL은 파이썬 스레드에서 한 번에 하나의 스레드만 Python 바이트코드를 실행하도록 제한하는 메커니즘이다. GIL은 파이썬이 C 언어로 작성된 확장.. 2023. 7. 11.
728x90
반응형