2009-09-15 6 views
6

내 응용 프로그램에서 최대 절전 모드 3.2.2를 사용하고 있습니다. 연결 풀링을 위해 우리는 c3p0 0.9.1을 사용하고 있습니다. 데이터베이스 작업을 수행하기 위해 뷰 패턴에서 일반 DAO 패턴과 세션 열기를 사용하고 있습니다.
기존 웹 사이트의 새로운 웹 사이트를 만들고 있습니다. 현재, 방문 횟수는 기존 애플리케이션에서 50 만회 방문입니다. 나는 c3p0 설정과 혼동을 느낀다. 어떤 벤치 마크에서, 열 수있는 연결 번호를 결정합니다. 최대 연결, 최소 연결, idletime, 시간 초과 등 ...연결 풀링에 필요한 연결 수는 어떻게 결정합니까?

+1

5 laks = 500,000, 네? –

+0

예. 고마워. 나는 그것을 50만으로 바꾼다. – Shashi

+0

안녕 샤시. http://stackoverflow.com/questions/1208077/optimal-number-of-connections-in-connection-pool을 살펴볼 수 있습니다. –

답변

3

요청이 들어오고 서비스를 제공 할 무료 연결이없는 경우 먼저 풀이 수행 할 작업을 결정해야합니다. 예외가 발생합니까? null를 돌려 주겠습니까? 다른 연결이 풀로 반환 될 때까지 차단 하시겠습니까?

용량이 초과되었을 때 어떤 일이 발생했는지 알았 으면 호출 코드에서이 문제를 어떻게 처리 할 수 ​​있는지, 그리고 어떤 상황에서이 문제가 발생하는지 생각해보십시오. 연결 수가 늘어 나면 어떤 요청을 처리하기 시작하지 않으면 안되지만 그 점이 무엇인지 결정할 수는 있습니다. 요금이 많이 주위에 뛰어 경우 실제 포인트

  • 현재 유휴 없음 요청 비율
  • 이 금리의 변동성 등을 비롯하여, 많은 요인에 따라 달라집니다 (당신은 더 많은 "호흡 방"을 원하는)
  • 하드웨어 향상과 비교하여 용량 증가에 대한 향후 전망과이 코드를 수정하기 위해 개발 된 개발자 시간 (두 달 후에 업그레이드 할 계획이라면 계속 실행하기위한 것보다 적은 오버 헤드가 필요합니다. 2 년)
  • 귀하의 회사가 처리 용량에 대해 보증 한 모든 보증
  • "나중에 다시 시도하십시오"요청을 이해하는 클라이언트의 능력 - 예 : 503 분에 1 분 동안 잠자고 다시 시도하는 스크립트가 자동화 된 스크립트라는 것을 안다면 "임시로 초과 된 용량"메시지를받는 사람보다 낫습니다. 그리고 둘 다 비동기 스크립트를 얻는 배치 스크립트보다 훨씬 낫습니다. 200 응답 및 오류와 함께 그냥 종료됩니다.
  • 요청의 긴박성 - 일부 요청 (새끼 고양이의 사진보기)은 합리적으로 지연 될 수 있지만 다른 요청 (주식 거래 주문)은 매우 시간에 민감 할 수 있습니다.

기타 등등. 당신이 위의 당신이 (다른있는 경우와 유형 요청, 당신은 너무 걱정에이를 취할 필요가 있음)을 동시에 처리 할 수 ​​있어야 요청의 수를 가지고 올 수 있어야에서 희망

. 그런 다음 들어오는 요청이 연결 속도를 유지하는 데 필요한 풀의 연결 수를 확인할 때까지 연결, 추론 및 프로파일 링을 얻고 사용하는 방법을 살펴 보는 것입니다.

비 요청 스레드 (예 : 작업자 풀)가 동일한 풀 (풀이 더 커야 함)에서 자체 연결을 얻는 것뿐만 아니라 해당 요청의 일부에 대한 연결 만 보유하는 요청 실행 (풀은 더 작을 수 있음).

0

구성 인스턴스를 프로파일 링하여 작은 구성 변경을 작성한 다음 최종적으로 부하 테스트를 통해 확인하십시오.

관련 문제