Python에서 Mysql DB Pool을 테스트 해보았다.
우선 테스트를 위해서 알아야할 기초 지식은 Porcess와 Thread 이다.
기본적으로 Tomcat 서버는 하나의 Porcess에서 여러개의 Request를 thread 기반으로 처리 한다.
단순하게 하나의 Porcess에서 DB Pool을 사용한다고 생각 하면된다.
테스트는 다음 2개을 해보았다.
처음에는 mysql-connector-python 이 내가 정확하게 원하는 기능만을 담고 있어서 사용하기 위한 테스트를 진행 하였다.
하지만 mysql-connector-python의 경우 pool 갯수 이상의 connection을 요구 할 경우 다음과 같은 오류가 발생 한다.
mysql.connector.errors.PoolError: Failed getting connection; pool exhausted
이후 검색을 통하여 SQLAlchemy 을 사용하면 되는 것을 확인하고 테스트 결과 원하는 처리가 되었다.