FastAPI

· FastAPI
Uvicorn 워커 수 조절과 Python GIL의 관계 이해하기 FastAPI와 같은 비동기 프레임워크에서 Uvicorn 웹 서버를 사용할 때 워커(worker) 수의 조절은 성능 최적화의 핵심 요소입니다. 워커 수를 조절하면 애플리케이션의 처리량과 응답 시간에 큰 영향을 미칩니다. 워커 수 조절의 효과 워커 수를 증가시키면 동시에 처리할 수 있는 요청의 수가 증가하여, 애플리케이션의 전체 처리량이 향상됩니다. 각 워커는 독립적인 프로세스로 실행되기 때문에, 병렬 처리가 가능해집니다. Python의 GIL 이해 Python은 GIL(Global Interpreter Lock)을 사용하여 멀티 스레딩 환경에서도 한 번에 하나의 스레드만이 Python 객체에 접근할 수 있도록 합니다. 이는 멀티 스레딩의 ..
· FastAPI
FastAPI로 전환하며 겪은 응답 시간 지연 문제와 해결 과정 Flask에서 FastAPI로 전환하면서 겪었던 주요 문제는 Flask의 동기 처리 방식 때문이었습니다. Flask는 요청을 처리하는 동안 다른 요청을 처리할 수 없어서 응답 시간이 길어지곤 했습니다. 하지만 FastAPI는 비동기 처리를 지원하여 이 문제를 해결할 수 있었습니다. 문제 발생 비동기 지원을 하는 FastAPI로 전환한 초기에는 기존의 동기 방식 코드와 데이터베이스 처리 로직 때문에 응답 시간이 늘어났습니다. 특히 데이터베이스 쿼리와 외부 API 호출 시 병목 현상이 발생했습니다. 해결 과정 첫 번째로, I/O 바인딩된 코드를 비동기 방식으로 리팩토링했습니다. Python의 asyncio와 aiohttp 라이브러리를 사용하여 ..
Kayden.Jung
'FastAPI' 카테고리의 글 목록