Connection Pooling 이란?
데이터베이스와의 연결을 열고 닫는 비용을 줄이기 위해 사용되는 기술이다.
PostgreSQL과 같은 데이터베이스 시스템에서는 클라이언트가 서버에 연결을 요청할 때마다 새로운 연결을 생성하고, 작업이 끝난 후에 이를 종료하는 것은 매우 비효율적일 수 있다.
Connection Pooling을 사용하면, 애플리케이션이 데이터베이스에 연결을 요청할 때마다 새로운 연결을 생성하지 않고, 이미 생성된 연결을 재사용할 수 있다.
npgsql 4.0.10
using System;
using Npgsql;
class Program
{
static void Main()
{
// 연결 문자열에 연결 풀링 관련 설정 포함
var connectionString = "Host=localhost;Username=myuser;Password=mypassword;Database=mydatabase;Pooling=true;MinPoolSize=5;MaxPoolSize=100;Connection Idle Lifetime=300;";
// NpgsqlConnection을 사용하여 연결 열기
using (var conn = new NpgsqlConnection(connectionString))
{
conn.Open();
// 데이터베이스 작업 수행
Console.WriteLine("Connection is open.");
conn.Close(); // 연결을 닫아도 연결 풀로 반환됨
}
// 연결 풀링이 설정되었기 때문에 새로운 연결을 요청하면 풀에서 가져옵니다.
using (var conn = new NpgsqlConnection(connectionString))
{
conn.Open();
// 데이터베이스 작업 수행
Console.WriteLine("Connection is open again.");
conn.Close(); // 연결을 닫아도 연결 풀로 반환됨
}
}
}반응형
'Programming > C#' 카테고리의 다른 글
| DLL 파일 통째로 프로젝트 빌드 (0) | 2024.09.01 |
|---|---|
| Npgsql - connection (0) | 2024.09.01 |
| DLL 추가 / 열기 및 수정 / 추출 (0) | 2024.09.01 |
| C# - npgsql & IIS 포트 (0) | 2024.08.30 |
| C# - GPDB 커넥션 에러 (0) | 2024.08.26 |