DBCP에서 Unclosed JDBC Connection 발생원인
안녕하세요. spring 에서 DB : mariaDB DBCP 의존성 : commons-dbcp:1.3.jar 이렇게 DBCP 설정 사용하고있습니다. mariaDB 연결 옵션으로 allowMultiQueries=true 커넥션풀 관련옵션으로 initalSize=10 maxActive=150 두개만 설정되어있구요. 문제는 *APM 에서 "Unclose JDBC Connection" 이슈 로그가 하루 몇만 건씩 찍히고 있어서 보니 쿼리 실행할때마다 전부다 unclose 라고 나오고 있는데 원인을 모르겠습니다. 뭐때문에 이럴까요? jboss서버의 로그를 봐도 에러없이 들어오는 요청을 잘 처리하고 있고 그 외 소스상에서 직접 xxx.getConnection() 형태로 사용하고 있는 부분들도 connection.close() 하고있는지 확인했습니다. 한켠으로는 커넥션풀을 사용하고있으니 당연히 커넥션을 닫지 않고 사용한 커넥션을 다시 풀로 반환될 뿐이니 Unclose 는 당연한것이 아닌가? 싶기도 합니다. 이에 조언 구해봅니다 🤔 로그내용을 첨부할수없어 대신 링크하겠습니다. https://stackoverflow.com/questions/75693648/unclosed-jdbc-connection-issue-in-spring-dbcp-environment *APM: application performance manager
개발자
#dbcp
#jdbc
#spring
#java
#mariadb
답변 2
댓글 0
추천해요 2
조회 253
일 년 전 · 류호준 님의 답변 업데이트
도커 환경 쿼리 실행 속도 차이
3가지 도커에서 mariaDB 컨테이너를 띄위고 쿼리 성능 테스트 중 이해가 안되는 부분이 생겨 아시는 분 혹시 있나 싶어 질문올립니다 3가지 1. 기본 컴퓨터 환경 - window환경에 도커내부 mariaDB cpu memory 등 중간 2. 다른 컴퓨터 환경 - window환경에 도커내부 mariaDB cpu memory 등 가장 낮음 3. 기본 컴퓨터에서 vpn으로 연결된 환경 - linux환경에 도커내부 mariaDB cpu memory 등 가장좋음 이런 3가지 경우에서 쿼리 성능 평가시 3번이 가장 오래 걸리는 이유를 못 찾겠습니다ㅠ 쿼리는 select * from 테이블 where a and b and c 구조로 가장 기본 구조라 생각되는데 3번과 1번 2번이 2배에서 3배정도 차이가 발생하는데 혹시 추측 되는 이유가 있을까요?
개발자
#sql
#query
#mariadb
#docker
#backend
답변 1
댓글 0
추천해요 1
조회 236
스타트업 1년차 커리어 조언 부탁드립니다!! (주니어개발자, 오버스펙등)
- 경력 스타트업 1년 4개월정도 재직 중인 주니어 개발자 - 개발팀 인원 cto, 개발팀장, 팀원 5명(백4, 프론트1) - 사용한 기술 스택 spring mvc, jpa, spring webflux, r2dbc, postgresql, mongodb,kafka, elasticsearch, logstash, docker, rabbitmq, redis - 현재까지의 상황 사내에 기술적으로나 커리어적 방향성을 물어볼 사람이 없어서 질문 올립니다. 어플리케이션 90 프로가 웹플럭스로 개발이 되었으며 mvc개발에 대해서는 작은 어플리케이션 개발이 전부였습니다. cto는 전적으로 개발팀장에게 전적으로 의존해서 기술스택 모두 팀장이 정했습니다. 팀원으로 기술 선택에 의견을 내기도 했지만 권위적인 태도거나 저의 지식이 부족해서 근거 없이 받아들이기도했습니다. 또한 일방적인 개발 팀장의 기술 선택에 cto도 크게 반발 없이 받아들였습니다. 매 프로젝트마다 팀원 모두가 사용 경험이 없는 새로운 기술스택이 도입되었고, 심지어 러닝커브를 고려한 일정을 잡아주지 않았습니다. 기술을 깊게 탐구해가며 쓰지 못하고 다음 프로젝트 하기 바쁜 일정이어서 이직 준비하기는 현실적으로 힘들었습니다. 사용한 기술 스택은 맞지만 딥다이브한 기술이 없으며, 이직을 위한 기술스택 (mvc, jpa 등)을 현재 업무에서 사용할 여지는 없어 보여서 아래와 같이 계획을 짰습니다. 제가 생각한 방향성이 맞는지 선배님들 조언 부탁드립니다. 1. 이력서에는 깊게 사용하지않은 기술스택은 뺀다. 2. 이직을 위한 기술 스택(mvc, jpa등) 사이드 프로젝트로 실제 사용자에게 출시한다는 생각으로 공부해서 포트폴리오화 한다.
개발자
#주니어
#이직
답변 1
댓글 0
추천해요 10
조회 2,392