[python] 파이썬 데이터베이스 연결 풀링 설정 최적화

데이터베이스 연결 풀링은 데이터베이스 작업을 수행할 때마다 매번 새로운 연결을 생성하는 것이 아니라, 미리 생성된 연결을 재사용하는 것을 말합니다. 이를 통해 데이터베이스 작업의 성능을 향상시킬 수 있습니다. 파이썬에서는 psycopg2를 사용하여 PostgreSQL 데이터베이스에 연결 풀링을 설정할 수 있습니다.

연결 풀링 설정 방법

psycopg2에서는 pool 모듈을 통해 연결 풀링을 사용할 수 있습니다. 연결 풀링을 설정하려면 다음과 같은 단계를 수행해야 합니다.

1. psycopg2 모듈 설치

먼저, psycopg2 모듈을 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install psycopg2

2. 연결 풀 객체 생성

다음으로, 연결 풀 객체를 생성해야 합니다. psycopg2에서는 psycopg2.pool.SimpleConnectionPool 클래스를 사용하여 연결 풀 객체를 생성할 수 있습니다. 아래의 코드는 연결 풀 객체를 생성하는 예제입니다.

import psycopg2
from psycopg2 import pool

connection_pool = psycopg2.pool.SimpleConnectionPool(
    minconn=1,
    maxconn=10,
    user='your_user',
    password='your_password',
    host='your_host',
    port='your_port',
    database='your_database'
)

위의 코드에서 minconn은 최소 연결 개수, maxconn은 최대 연결 개수를 나타냅니다. 나머지 인자들은 데이터베이스 연결에 필요한 정보들입니다. 필요에 따라 값을 수정하여 사용하세요.

3. 연결 풀에서 연결 얻기

연결 풀에서 연결을 얻기 위해서는 getconn() 메서드를 사용합니다. 아래의 코드는 연결 풀에서 연결을 얻는 예제입니다.

connection = connection_pool.getconn()

4. 연결 사용 후 반환하기

연결을 사용한 후에는 해당 연결을 반드시 반환해야 합니다. 반환하지 않을 경우, 연결 풀의 최대 연결 개수를 초과하게 되어 에러가 발생할 수 있습니다. 아래의 코드는 연결을 반환하는 예제입니다.

connection_pool.putconn(connection)

참고 자료