MSSQL 에 연결하는 프로그램에서 최적 Connection 개수는 어떻게 판단해야하나요?
프로그램을 통하여 DB에 쿼리를 전달하고 값을 가져온다고 했을때
프로그램이 SQL 서버에 연결에 대한 커넥션 풀을 관리하면
이때 커넥션 풀에는 몇개의 커넥션을 관리해야하는지 판단하려면 어떤 조건들을 고려해야하나요?
예를 들면 MS SQL 서버의 CPU 개수만큼 동시에 처리가능하니까 최적의 성능을 위해서는 최대 커넥션 수가 MSSQL 서버의 CPU개수만큼
이라던지요
그냥 생각나는 예시를 적었는데 위가 올바른 예인지는 모르겠습니다
감사합니다
Comment 2
-
쓸만한게없네(윤선식)
2013.09.27 19:31
-
minsouk
2013.09.29 00:18
쿼리의 응답시간이 얼마이고 동시에 몇개의 쿼리가 수행되어야 하는지의 비지니스 요구사항에 따라 커넥션 풀의 갯수를 정하게 됩니다 이러한 요구사항을 만족하는 서버는 tpc.org 에 쿼리성능이 부하와 쿼리수행 가능갯수가 있으니 내 부하대비 얼마의 리소스를 소모하는지 계산해 적용합니다 별거 없고 당연한 이야기 입니다
애석하게도 너무 광범위한 질문을 하신 듯 합니다.
마치 "제가 PC를 사려고 하는데 무얼 사면 좋을까요?"나
"제가 차를 사려는데 무얼 사면 좋을까요? 와 비슷한 질문입니다...
고려해야 할 사항이 상당히 많은 것이죠.
다만, 관련된 글을 참고하시면 도움이 될 것 같습니다.
http://msdn.microsoft.com/ko-kr/library/8xx3tyca.aspx
--
각각의 고유 연결 문자열에 대해 연결 풀이 만들어집니다.풀이 만들어지면 최소 풀 크기 요구 사항이 충족되도록 여러 개의 연결 개체가 만들어져 풀에 추가됩니다. 연결은 지정된 최대 풀 크기(기본값 100) 이하로 필요한 만큼 풀에 추가됩니다. 연결이 닫히거나 삭제되면 다시 풀로 회수됩니다.
클라이언트당 연결 수
: 구성된 연결의 최대 값