기술지원 문의

Re:Re:DB Connection Pool 사용에 관하여 질문합니다.
방지한 / 2003-03-05 00:00

답변이 이렇게 빨리 올라올 줄 몰랐습니다.
두서없이 질문을 드렸던 것 같네요.

말씀하신대로 Admin Servlet을 설정하고 나서 보니까
페이지 로딩이 안되고 있는 순간의 DB Pools의 Connection이
Active 1, Total 1 로 되어있습니다.
물론, 특별한 에러로그는 없구요.....

max-connection 이 20인데 왜 total 1 에서만 계속 멈추어 있는 걸까요?

admin servlet의 결과만 보면 connection을 1개만 맺고 있다는 얘긴것 같은데.......맞나요?

Re:Re:Re:DB Connection Pool 사용에 관하여 질문합니다.
관리자 / 2003-03-05 00:00

말씀하신 상황은 거의 부하가 없는 상태인 것 같네요.

total이 1인 것은 실제 부하가 거의 없어서
그럴 가능성이 많습니다. 
total은 생성되어 있고 pool에서 관리하고 있는
connection의 수입니다. 

max-connection은 동시 최대 database와의
연결갯수를 이야기하는 것으로 어플리케이션에서
pool에 db connection을 요청하지 않으면
그때 connection을 생성하며 미리생성해두지는 않습니다. 

생성된 connection을
어플리케이션에서 이용을 마치고 반환하면(close())
max-idle-time만큼(디폴트 30초) 유지하다가
pool에서 제거됩니다. 재사용성을 높이려면 이수치를
올려주시면 되죠. max-idle-time 이전에 
다시 어플리케이션이 connection을 요청하면
생성되어 pool속에 있던 그놈을 다시 제공하는 식입니다.

제생각은 부하가 거의 없는 상태에서 그렇다면 
소스를 다시한번 점검해보시는 것이 제일 나을 듯합니다.
물론 Resin, JDK, OS, DB, JDBC Driver등등 체크해보아야
할 것들이 많이 있고 이속에 무수한 문제점들이 있긴하겠지만
그래도 그게 제일 빠를 것 같네요. 
또 같은 시스템에 oracle이 있는 것으로 보아
시스템 메모리도 한번 점검해보시고....






--방지한 님의 글 [2003-03-05 19:54:18]
>답변이 이렇게 빨리 올라올 줄 몰랐습니다.
두서없이 질문을 드렸던 것 같네요.

말씀하신대로 Admin Servlet을 설정하고 나서 보니까
페이지 로딩이 안되고 있는 순간의 DB Pools의 Connection이
Active 1, Total 1 로 되어있습니다.
물론, 특별한 에러로그는 없구요.....

max-connection 이 20인데 왜 total 1 에서만 계속 멈추어 있는 걸까요?

admin servlet의 결과만 보면 connection을 1개만 맺고 있다는 얘긴것 같은데.......맞나요?