Builder.shin
Python
142개의 게시물
Python
Python asyncio 기반 배치 작업 성능 개선 기록
레거시 동기 방식의 데이터 수집 배치를 asyncio 기반으로 전환하면서 겪은 시행착오와 성능 개선 결과를 정리했다. 외부 API 호출이 많은 작업에서 약 8배의 성능 향상을 확인했다.
2025년 12월 9일
Python
Python 비동기 작업에서 asyncio.gather vs TaskGroup 선택 기준
Python 3.11에서 도입된 TaskGroup을 프로덕션에 적용하면서 기존 asyncio.gather와의 차이를 정리했다. 에러 핸들링과 취소 동작이 핵심 차이였다.
2025년 11월 23일
Python
FastAPI에서 Pydantic V2 마이그레이션 후 성능 개선
레거시 FastAPI 프로젝트를 Pydantic V2로 마이그레이션하면서 겪은 Breaking Changes와 성능 개선 결과를 정리했다. 특히 대량의 JSON 직렬화가 필요한 API에서 약 2배 가까운 성능 향상을 확인했다.
2025년 11월 20일
Python
Python 3.14 asyncio 성능 개선 체감기
Python 3.14로 업그레이드하면서 asyncio 기반 API 서버의 성능이 눈에 띄게 개선됐다. 특히 동시 연결 처리와 메모리 사용량에서 차이가 컸다.
2025년 10월 31일
Python
Python 3.14 패턴 매칭 개선과 실무 활용
Python 3.14에서 개선된 구조적 패턴 매칭을 API 응답 파싱에 적용했다. 기존 if-elif 체인 대비 가독성과 유지보수성이 크게 향상되었다.
2025년 10월 15일
Python
Python 비동기 DB 쿼리 최적화 - asyncpg로 마이그레이션
FastAPI 프로젝트에서 psycopg2를 asyncpg로 전환하면서 겪은 과정을 정리했다. 동시 요청 처리 성능이 3배 가까이 개선되었고, 코드 구조도 더 명확해졌다.
2025년 10월 13일
Python
FastAPI 비동기 배치 처리 성능 개선
데이터 수집 API에서 대량의 외부 API 호출을 처리하던 중 타임아웃 문제가 발생했다. asyncio와 세마포어를 활용해 동시 처리량을 조절하면서 응답 시간을 70% 단축했다.
2025년 6월 23일
Python
Python 비동기 작업에서 메모리 누수 추적하기
FastAPI 기반 서비스에서 장시간 실행 시 메모리 사용량이 계속 증가하는 문제를 발견했다. asyncio 태스크 관리 미흡으로 인한 메모리 누수를 tracemalloc과 weakref로 추적하고 해결한 과정을 기록한다.
2025년 5월 26일
Python
Python asyncio 타임아웃 처리 중 발견한 함정
비동기 API 호출에 타임아웃을 적용하면서 asyncio.wait_for()의 예상치 못한 동작을 발견했다. CancelledError 처리 시점에 따라 리소스 정리가 제대로 되지 않는 문제가 있었다.
2025년 2월 5일
Python
Python 멀티프로세싱으로 배치 작업 성능 개선하기
배치 작업에서 대용량 데이터 처리 시간이 문제였다. multiprocessing Pool을 활용해 처리 시간을 1/4로 단축했고, 그 과정에서 마주친 직렬화 이슈와 메모리 관리 방법을 정리했다.
2025년 1월 29일
Previous
1
2
3
More pages
15
Next
카테고리
Builder.shin