2009-10-28 4 views
2

서버를 다운로드 할 때 서버의 가상 메모리를 많이 차지하는 서블릿이 있습니다. 이러한 이유로 우리는이 서버에 대한 동시 요청을 제한하고 싶습니다. 예를 들어 병렬로 처리되는 요청은 10 개만 필요합니다. 다른 요청이 대기열에서 대기되기를 원할 것입니다.서블릿의 병렬 처리 횟수 제한

최대 스레드 수를 정의하고이 서블릿이이 시나리오를 처리하도록 할당하도록 사용자 정의 스레드 풀을 생성하고 구성 할 수 있습니까? 우리는 WebLogic 서버 9.2를 사용하고 있습니다. 아니면 이것을하기위한 다른 더 좋은 방법이 있습니까? 어떤 생각을 감사하십시오.

우리는 별도의 서블릿을 구성하고 X 개의 동시 요청 만 허용하도록 스레드 풀을 구성 할 수 있습니다. 다른 모든 요청은 대기열에 배치되어 다음 사용 가능한 서블릿을 사용합니다. 이 접근법은 타임 아웃 오류를 던집니까? 이 문제에 대해 더 자세히 설명해 주시겠습니까? 감사합니다

http://download.oracle.com/docs/cd/E13222%5F01/wls/docs92/perform/appb%5Fqueues.html

+0

복제본 : 1631981 –

+0

어제의 질문과 어떻게 다른지 설명하고 싶을 수 있습니다. –

+0

너무 내 대답을 upvote 주저하지 말고 :) –

답변

3

사용자 지정 스레드 풀을 생성하고이 시나리오를 처리하기 위해이 서블릿에 할당 할 수 있습니까? 우리는 WebLogic 서버 9.2를 사용하고 있습니다. 아니면 이것을하기위한 다른 더 좋은 방법이 있습니까? 어떤 생각을 감사하십시오.

예, 가능합니다. default self-tuning work manager (Weblogic 9.x부터 실행 대기열이 스레드 풀 의 작업 관리자로 대체 됨)을 사용하는 대신 과 capacity과 같은 특정 constraints의 작업 관리자를 만들 수 있습니다. weblogic.xml 배포 설명자 파일의 wl-dispatch-policy을 사용하여 특정 작업 관리자에 서블릿을 할당 할 수 있습니다. 이 enable 웹 로직 8.1 스레드 풀 모델에 여전히 가능하고 대기열을 실행 사용하는 것을


1 참고.

+0

위의 설명 및 확인 주셔서 감사. –