Dev/python
[sqlalchemy] pool_size, max_overflow 이해
bskyvision.com
2023. 9. 7. 20:26
연결 풀(connection pool)은 연결의 효율적인 재사용을 위해 메모리에서 장기간 실행되는 연결을 유지하고, 애플리케이션이 동시에 사용할 수 있는 총 연결 수에 대한 관리를 제공하는 데 사용되는 표준 기술입니다. 특히 백엔드 웹 애플리케이션의 경우 연결 풀은 요청 전반에 걸쳐 재사용되는 활성 데이터베이스 연결의 "풀"을 메모리에 유지하는 표준 방법입니다 [1].
그 연결 풀의 사이즈를 pool_size로 설정할 수 있고, 최대 초과 개수를 max_overflow로 설정할 수 있습니다. 따라서, pool_size + max_overflow 개수만큼의 연결 개수가 생성 가능하고, 그 수를 넘는 경우에는 기다리게 합니다.
참고자료
[1] https://docs.sqlalchemy.org/en/20/core/pooling.html
[2] https://spoqa.github.io/2018/01/17/connection-pool-of-sqlalchemy.html