연결 풀링
데이터 원본에 연결하는 데 시간이 오래 걸릴 수 있습니다. 연결을 여는 비용을 최소화하기 위해 ADO.NET 연결 풀링
연결 제한 및 리소스 제약 조건: 데이터베이스 환경에서 연결 제한은 종종 서비스 계층 또는 리소스 구성에 연결됩니다. 예를 들어 Azure SQL Database는 선택한 서비스 계층에 따라 연결 제한을 정의하고, Azure SQL Managed Instance는 CPU, 메모리 또는 vCore와 같은 할당된 리소스에 따라 제한을 적용합니다. 연결 풀 구성이 이러한 제한을 초과하면 애플리케이션에서 연결 거부, 제한된 연결, 또는 성능 저하가 발생할 수 있습니다.
인증 방법: 토큰 기반 인증 메커니즘(예: Microsoft Entra ID 인증)은 토큰 만료로 인해 연결 풀링에 영향을 미칠 수 있습니다. 만료된 토큰은 풀 내의 연결을 무효화하여 재사용을 방해할 수 있습니다. 이 동작은 최신 인증 프로토콜을 사용하는 클라우드 기반 및 온-프레미스 데이터베이스 시스템 모두에서 발생합니다.
네트워크 대기 시간 및 엔드포인트: 네트워크 대기 시간 및 엔드포인트 구성은 연결 풀링의 효율성에 영향을 줄 수 있습니다. 클라우드 호스팅 데이터베이스에서 일반적으로 사용되는 퍼블릭 엔드포인트는 일반적으로 프라이빗 또는 직접 연결에 비해 대기 시간이 더 깁니다. 동적 IP 주소 지정을 사용하는 클라우드 네이티브 애플리케이션에서는 변경된 IP 주소를 수용하도록 방화벽 규칙을 업데이트하지 않으면 연결 재사용이 중단될 수 있습니다.
암호화 요구 사항: TLS/SSL 암호화를 적용하는 데이터베이스에는 연결 풀링 구성과 암호화 설정 간의 맞춤이 필요합니다. 예를 들어
Encrypt=True
같은 연결 문자열에서 필요한 암호화 매개 변수를 생략하면 연결 오류가 발생하여 풀링 효율성이 저하될 수 있습니다.DNS 확인: 프라이빗 엔드포인트 및 맞춤형 DNS 구성은 연결 풀링에 문제를 일으킬 수 있습니다. 잘못 구성되거나 일치하지 않는 DNS 설정은 연결 설정을 지연하거나 차단하여 연결 재사용의 성능 및 안정성에 영향을 미칠 수 있습니다. 하이브리드 또는 프라이빗 클라우드 설정이 있는 환경에서 특히 관련이 있습니다.
이 섹션에서
SQL Server 연결 풀링 (ADO.NET)
연결 풀링에 대한 개요를 제공하고 SQL Server에서 연결 풀링이 작동하는 방식을 설명합니다.
OLE DB, ODBC 및 Oracle 연결 풀링
.NET Framework의 OLE DB 데이터 제공자, ODBC 데이터 제공자 및 Oracle 데이터 제공자에 대한 연결 풀링에 대해 설명합니다.
참고 자료
- ADO.NET 데이터 검색 및 수정
- ADO.NET 개요