인프런 커뮤니티 질문&답변

양치잘하기님의 프로필 이미지

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

DataSource 적용

풀 방식에 질문이 있습니다.

해결된 질문

작성

·

145

0

실제 서비스에서 수백 수천의 사용자가 접속을 하였는데 풀에 등록된 커넥션이 100개밖에 없으면 선착순 100명에 들지 못한 나머지 사람들은 계속 대기 하고 반환된 풀을 가져다 사용하는거로 이해했습니다.

관리자 입장에서 사용자 대기를 줄이기 위해 풀의 최대 갯수를 최대로 많이 하면 사용자의 대기 없이 즉각적으로 접근이 가능해서 더 좋은 서비스를 제공이 가능한것 같은데 굳이 기본 풀 갯수를 10개로 설정한 이유가 있나요? 그리고 풀의 최대갯수는 몇까지 가능한가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

양치잘하기님의 질문에 대해, 풀(pool) 관리 및 데이터베이스 커넥션 풀의 기본 사이즈 설정에 대해서 설명드리겠습니다.

데이터베이스 커넥션 풀의 크기를 결정하는 데 있어서는 여러 가지 고려해야 할 사항이 있습니다. 커넥션 풀의 크기를 무작정 늘리는 것이 항상 좋은 방법은 아닙니다. 실제로 커넥션 풀의 크기는 사용되는 데이터베이스, 서버의 하드웨어 사양, 애플리케이션의 특성 및 예상 트래픽 양 등에 따라 다르게 설정될 수 있습니다.

이와 관련해서, 질문자님의 궁금증을 해결해 줄 수 있는 몇 가지 관련 질문&답변 링크를 아래에서 제공해 드립니다.

  1. 커넥션이 왜 10개가 만들어지는 것인가요?

    • 커넥션 풀의 기본 크기 설정 및 최대 크기 설정에 대한 질문에 답변이 제공됩니다. 특히, 커넥션 풀 설정값(HikariCP를 예로 들었을 경우)에 따른 커넥션의 초기 생성 및 관리 방법에 대해 설명하고 있습니다. 또한, 사용자 수가 많을 경우 어떻게 커넥션 풀 크기를 관리해야 하는지에 대한 조언도 포함되어 있습니다.
  2. 커넥션 풀 관련 질문 드립니다.

    • 커넥션 풀과 톰캣 쓰레드 풀의 기본값에 대한 질문과 답변이 있습니다. 여기서는 기본값 설정에 대한 이유와 실제 서비스 운영에서의 접근 방식에 대해 설명하고 있습니다.
  3. 커넥션 풀 질문

    • 커넥션 풀의 목적과 원리, 그리고 커넥션 풀의 크기가 사용자 수와 직접적인 비례 관계에 있지 않음을 설명하고 있습니다. 이는 커넥션 풀 크기를 결정하는 데 있어서 중요한 원리 중 하나입니다.

각각의 링크에서는 커넥션 풀의 크기 설정과 그에 따른 영향력에 대해 구체적으로 설명하고 있습니다. 특히 커넥션 풀의 크기가 너무 크면 메모리 사용량 증가, 데이터베이스 서버에 대한 과도한 부하 등의 문제를 유발할 수 있으며, 너무 작으면 사용자 요청 처리에 지연이 발생할 수 있으므로 적절한 크기 설정이 필요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.