개발 노트

Connection과 Connection Pool 본문

Node

Connection과 Connection Pool

한츄 2023. 12. 19. 13:42

커넥션 풀의 원리

 

DB Server와 통신하는 과정에서 소켓을 생성하고 끊어내는 과정에서 많은 자원을 소모하게 됩니다. 다수의 사용자가 동시에 접속을 하게된다면 서버와의 통신이 원활하게 이루어지지 않을 확률이 높습니다. 요청이 들어올 때마다 Connection을 연결하고 끊는 것은 상당히 비효율적이므로 효과적으로 활용하기 위해 미리 커넥션을 맺어놓고 가져다쓰는 Connection Pool을 활용합니다.

  1. Connection: 데이터베이스와 세션을 나타내는 객체입니다. 이는 클라이언트와 데이터베이스 사이의 통신을 가능하게 하는 통로로 볼 수 있습니다. 하나의 Connection은 한번에 하나의 쿼리만 처리할 수 있습니다.
  2. Connection Pool: 여러 Connection 객체를 미리 생성해두고 필요에 따라 제공하거나 재활용하는 메커니즘으로 Connection Pool을 사용하면, 각 요청마다 새로운 Connection을 생성하고 해제하는 비용을 절약할 수 있습니다. 또한 동시에 많은 요청을 처리해야하는 상황에서도 성능을 유지할 수 있습니다.

즉, Connection은 실제 데이터베이스와 통신을 가능하게 하는 하나의 통로이고, Connection Pool은 이러한 Connection들을 효율적으로 관리하기위한 메커니즘이라고 볼 수 있습니다.

'Node' 카테고리의 다른 글

util 모듈 - promisify()  (0) 2023.12.21
mysql 연동 시 datetime 에러  (0) 2023.12.19
require()와 module.exports  (0) 2023.12.19
NodeJS 크롤링 시작하기  (0) 2023.11.08
Node js 시작하기  (0) 2023.11.08