반응형

PHP와 Ruby는 Connection Pool 기능이 없다!

 

위와 같이 Connection Pool 기능이 없는 언어의 경우, DB 접속을 위해 Connection Pool을 관리해주는 기능을 사용하는 것이 좋다.
만약 DB로 AWS RDS를 사용하는 경우 AWS RDS Proxy는 괜찮은 대안이다.
자체적으로 Connection Pool 기능일 제공하는 DB를 이용한다면 모를까, 커넥션 풀을 하지 못하는 언어에서는 Connection Pool 없이 DB 접속 시 사용자 수가 몰리면 DB가 죽을 수 있다 (웹서버가 죽지 않았는데도!)

 

자세한 내용은 AWS 가이드를 참고하자!

 

PHP 및 Ruby on Rails와 같은 언어와 프레임워크를 사용하는 애플리케이션은 일반적으로 프록시를 사용하는 것이 좋습니다. 이러한 애플리케이션은 일반적으로 많은 수의 데이터베이스 연결을 열고 닫으며 내장된 연결 풀링 메커니즘이 없습니다.

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html

 

Amazon RDS Proxy와의 연결 관리 - Amazon Aurora

새 엔드포인트를 읽기 전용으로 지정할 경우, RDS Proxy를 사용하려면 Aurora 클러스터에 리더 DB 인스턴스가 하나 이상 있어야 합니다. 프록시의 대상을 단일 라이터 또는 여러 라이터 Aurora 클러스

docs.aws.amazon.com

 

반응형