benchmark python, db library benchmark (feat. sqlalchemy vs aiomysql) DB 라이브러리에서 동기처리 (sqlalchemy) 가 비동기처리 (aiomysql) 특성에 따라 어떤 차이가 있는 지 살펴봤다. 벤치마크 테스트는 Pool 을 구성하고 주요 옵션이나 기능의 차이를 살펴보고자 했다. 기본적으로 동기처리는 Pool 에서 하나씩 Connection을 사용하고 리턴하는 방식으로 처리 될 것이며, 비동기 처리는 비동기로 날라오는 요청들을 가능한 Pool 안의 Connection을 가져다 쓰고 리턴하는 방식을
python FastAPI, CRUD API 개발을 위한 기록 API에 있어 기본이 되는 CRUD API 를 개발하며 FastAPI 에 적응하기 위한 기록을 남긴다. 1. 환경세팅 1) 프로젝트 생성 poetry new apps poetry 를 통해 프로젝트를 생성하면 아래와 같은 구조를 갖게 된다. apps ├── pyproject.toml ├── README.rst ├── apps │ └── __init__.py └── tests ├── __init__.py └── test_apps.py 2) 의존성 라이브러리 설치
trouble shooting fastapi 0.70.1, middleware bug fastapi 0.70.1 버전에 다음과 같이 middleware 를 사용하는 경우에 crash 되는 버그(부하발생기 사용시)가 존재하는 듯 하다. 해결방법은 전 버전(0.70.0 또는 0.68.2)으로 변경 후 동일 버그 발생하지 않음. from fastapi import FastAPI from starlette.requests import Request from app.db import
python ASGI 웹 프레임워크 FastAPI 를 시작하며 Python, Backend 를 시작하는 데 부족한 부분들을 정리해 보고자 한다. 1. Backend 구성 (feat. WSGI 와 ASGI) Python 의 일반적인 웹서비스에 아키텍쳐를 이해하기 위해 아래와 같은 그림을 그려봤다. 1) Web Server 웹서버의 역할은 두개로 나누어 볼 수 있다. 정적인 요청의 서빙이나 Reverse Proxy를 이용하여 어플리케이션 서버로 동적인 요청을 전달하는 용도이다.