티스토리 뷰

 

  • OR Pod = 15개
  • MD Pod = 60개
  • (Oracle DB 사용 가정)
  • → 커넥션 풀을 얼마로 설정해야 안전한가?

1️⃣ 가장 먼저 확인해야 할 것

Oracle DB에서:

 
SHOW PARAMETER sessions;
SHOW PARAMETER processes;
 

예를 들어:

  • sessions = 1000
  • 운영 여유 100 확보
  • 실제 사용 가능 = 900

라고 가정해보겠습니다.


2️⃣ 전체 Pod 수 계산

 
총 Pod = 15 + 60 = 75개
 

3️⃣ 전체 커넥션 허용치 ÷ Pod 수

예시:

 
900 ÷ 75 ≈ 12
 

👉 Pod당 최대 12개


4️⃣ 실무 권장 값 (안전 마진 적용)

DB는 항상 여유를 둬야 합니다.

 
권장 = 계산값의 70~80%
 

12 × 0.8 ≈ 9~10


✅ 🎯 최종 권장 설정

구분권장 maxPoolSize
OR Pod (15개) 8~10
MD Pod (60개) 5~8

🔥 왜 다르게 주는 게 좋을까?

보통:

  • OR = 업무 처리 (트랜잭션 위주)
  • MD = 조회/메타/경량 처리

이라면

OR에 조금 더 여유
MD는 낮게


📌 예시 안전 설계

옵션 1 (균등)

 
maxPoolSize = 8
 

총 연결:

 
75 × 8 = 600
 

→ 매우 안전


옵션 2 (차등)

 
OR = 12
MD = 6
 

계산:

 
(15 × 12) + (60 × 6)
= 180 + 360
= 540
 

→ 효율적 + 안정적


🚨 절대 하면 안 되는 설정

❌ OR 30 / MD 30
→ 75 × 30 = 2250
→ DB 세션 초과로 장애

❌ HPA 무제한 확장


🎯 결론

DB sessions 1000 기준이라면:

👉 Pod당 6~10 사이가 현실적인 안정 범위

정확한 값은:

  1. Oracle sessions 값
  2. 평균 동시 트랜잭션 수
  3. 쿼리 응답 시간
  4. HPA 최대 Pod 수

에 따라 달라집니다.


원하시면
✔ 정확한 sessions 값 기준으로 재계산
✔ OR/MD 분리 아키텍처 설계
✔ Oracle RAC 환경 계산법
✔ 커넥션 풀 고갈 시 장애 패턴 분석

도 실무 기준으로 계산해 드리겠습니다 😊

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함