[JBoss EAP 공통] Datasources 커넥션 풀 설정
본문 바로가기
IT 이야기/JBoss EAP

[JBoss EAP 공통] Datasources 커넥션 풀 설정

by 찬찬이 아빠 2020. 10. 20.
반응형

WAS 서버에서는 JBoss EAP 시스템SW 사용하고 있고 DB 서버에서는 CUBRID 시스템SW를 사용한다고 가정하겠습니다.

JBoss EAP 데이터소스의 커넥션 풀 설정에서 min, max pool 값이 높게 설정되어 운영중일 때 커넥션 풀 설정을 수정하려면 어떻게 해야 할까요?

 

WAS 서버 노드별 JBoss EAP 데이터소스 커넥션 풀 설정에서 min-pool-size의 합은 DB서버 cubrid_broker.conf 파일에 설정되어 있는 MIN_NUM_APPL_SERVER에 정의된 값과 같거나 작아야 합니다.

 

커넥션 풀은 WAS와 DB 서버간 연결(커넥션)을 해놓은 객체들을 풀(Pool)에 저장해 두고 DB 연결이 필요할 때 커넥션을 할당 받아 사용하고, 사용을 마치면 커넥션을 반환하는 방식으로 운영합니다.

 

매번 WAS와 DB 서버간 커넥션을 수립하지 않아 효율성을 높일 수 있습니다. 커넥션 초기화/종료 과정에 시간이 많이 소요되기 때문이 이런 과정이 생략된다면 요청 처리 속도가 향상됩니다.

 

각 커넥션은 일정한 크기의 메모리를 점유하므로 서버의 자원 구성(사양)과 서비스 운영에 필요한 커넥션 수에 따라 최소값과 최대값을 설정하여 운영합니다.

 

WAS 서버(JBoss EAP)와 DB 서버(CUBRID) 간 커넥션 풀 개수는 min-pool-size, max-pool-size 설정값으로 운영됩니다.

  • min-pool-size : JBoss EAP 커넥션 풀에서 유지하는 최소 연결 수
  • max-pool-size : JBoss EAP  커넥션 풀에서 유지하는 최대 연결 수

 

사용량이 증가하면 최대 max-pool-size까지 커넥션이 증가하고, 사용량이 감소하면 최소 min-pool-size까지 커넥션이 감소하게 됩니다.

 

 

 

1. DB 서버 설정파일 확인(cubrid_broker.conf)

일반적으로 JBoss EAP 데이터소스 커넥션은 CUBRID Broker1(33000)로 연결하여 사용합니다.

 

$CUBRID_HOME/conf/cubrid_broker.conf 파일을 확인합니다.

... 생략 ...
[%BROKER1]
SERVICE		=ON
BROKER_PORT		=33000
MIN_NUM_APPL_SERVER		=80
MAX_NUM_APPL_SERVER		=320
APPL_SERVER_SHM_ID		=33000
... 생략 ...

 

MIN_NUM_APPL_SERVER 값이 80, MAX_NUM_APPL_SERVER 값이 320으로 설정되어 있는것을 확인할 수 있습니다.

 

 

2. WAS 서버 데이터소스 커넥션 풀 설정 확인(standalone-ha.xml)

WAS 서버 노드별 데이터소스 커넥션 풀 설정을 확인합니다.

min-pool-size, max-pool-size 값과 DB서버 CUBRID BROKER1(33000)과 연결 설정이 되어 있는지 확인할 수 있습니다.

 

예를 들어 2대의 WAS 서버에 2개의 노드가 min-pool-size가 30, max-pool-size가 100으로 설정되어 있다고 가정하겠습니다.

<min-pool-size>30</min-pool-size>
<max-pool-size>100</max-pool-size>

 

WAS 서버별 노드 2개의 커넥션 풀 최소 설정값에 합이 120, 최대 설정값에 합이 400이 됩니다. DB 서버 CUBRID BROKER1에 설정된 최소/최대 수용값을 초과해 버립니다.

 

DB 서버의 BROKER1에 연결되는 MIN_NUM_APPL_SERVER 값이 80, MAX_NUM_APPL_SERVER 값이 320으로 설정되었기에 WAS 서버 노드별 커넥션 풀 최소/최대 값의 변경이 필요합니다.

 

 

3. WAS 서버 노드별 커넥션 풀 재설정(standalone-ha.xml)

# vim $JBOSS_HOEM/domains/노드명/configuration/standalone-ha.xml

<min-pool-size>20</min-pool-size>
<max-pool-size>80</max-pool-size>
반응형

댓글