• DB connection pool과 스레드 개수는 메모리와 관련이있다.
  • 많이 사용할 수록 메모리를 많이 점유한다.
  • 개수를 적게 지정하면 서버에서는 많은 요청을 처리하지 못하고 대기하게된다.
  • WAS에서 기본 개수가 10~20개 정도이다.
  • DB connection pool은 보통 40~50개로 지정하고 스레드 개수는 이보다 10개 정도 더 지정한다.
  • 스레드 개수 < DB connection pool : 스레드가 적은만큼 연결 필요가 없어진다.
  • 스레드 개수 > DB connection pool : 여유분을 갖도록위함이다.
  • 적합한 개수는 서버와 애플리케이션 상황에 따라 다르다.
  • 서비스 및 서버의 상황에 맞게 값을 지정해야한다. -> 성능테스트
  • DB의 CPU 사용량이 100% 도달했다면 ? CPU를 점유하는 쿼리를 찾는다 -> 인덱스가 없거나, 테이블을 풀 스캔하는 쿼리가 있는지 , 쿼리의 플랜을 확인한다.
  • DB connection pool 지정 개수를 전부 사용한다고 개수를 막 늘리면 DB사용량이 늘고 응답 시간이 느려진다
  • DB의 CPU 사용량이 50% 미만이고 WAS의 CPU 사용량이 100%일때 : WAS의 애플리케이션을 튜닝한다. 이미 튜닝했다면 -> 커넥션풀을 늘리기, 서버 대수 늘리는것은 가장 마지막에 고려할 것

음..회사에서 DB의 CPU점유율이 상당히 높은 편이다..이유는 바로 가장많이 이용하는 부분의 쿼리들 때문!!

이 부분도 팀원들이랑 개선점 찾아서 진행하고싶다

'* > What I did today' 카테고리의 다른 글

@Jacksonized  (0) 2023.06.06
객체지향  (0) 2023.03.23
How to Achieve More  (3) 2023.03.14
Tree  (0) 2023.01.10
null 대신 Optional 클래스  (0) 2023.01.02
GC  (0) 2023.01.01
static 변수는 JVM의 어디에 저장될까 ?  (0) 2022.12.25
JVM  (0) 2022.12.24

+ Recent posts