2012-06-19 1 views
3


glassfish v3.1.2의 동작을 이해할 수 없습니다.최대 동시 스레드 수가 max-thread-pool-size보다 작음

  • 클래스 이름 : com.sun.grizzly.http.StatsThreadPool
  • 최대 대기열 크기 : 4096
  • 최대 스레드

    나는 그런 글래스 피쉬 스레드 풀 매개 변수 내 자바 웹 응용 프로그램을 실행 풀 크기 : 10

  • 최소 스레드 풀 크기 : 10
  • 유휴 스레드
  • 시간 초과 : 900

그러면 내 서블릿에 많은 요청을 보냅니다. 내 서블릿의 논리는 다음과 같이이다 : http://s8.postimage.org/5hupqk4ad/profiler.png

모든 10 개 스레드가 생성 된, 만 5 동시에 실행할 수있는 것 같다

//do some action 
Thread.currentThread().sleep(5000); 

넷빈즈 프로파일 러는 스레드 창에서 이러한 결과를 보여줍니다. 물론 최대 수의 스레드를 동시에 사용하고 싶습니다.

누군가가 그러한 동작을 설명하고 문제를 해결할 수있는 방법을 제안 할 수 있습니까?

자세한 정보가 필요하면 알려주십시오. 감사합니다.

답변

1

클라이언트 측에서 확인하십시오. 제한이있을 수 있습니다.

+0

정말! 이유는 클라이언트 소스 코드에있었습니다. 서버에 5 개의 연결에 대한 제한이있었습니다. –

+0

@Vitaly - 궁금한 점은 클라이언트가 사용 된 것이고 서버에 특정 수의 연결을 설정하는 방법은 무엇 이었습니까? –

+0

@AndyDufresne - Great Maps 컨트롤 (http://greatmaps.codeplex.com/)이있는 클라이언트 응용 프로그램이었습니다. 이 컨트롤은 내 서버 앱에서 타일을 가져오고있었습니다. 그리고 타일을 얻기위한 simultaniuos thread의 수는 5와 같았다. –