2012-06-19 2 views
3


Я не понимаю поведения стеклянной рыбы v3.1.2.Количество максимальных одновременных потоков меньше, чем максимальный размер пула

Я бегу мой Java веб-приложения с помощью таких GlassFish параметров резьбы бассейна:

  • Название Класс: com.sun.grizzly.http.StatsThreadPool
  • Max Queue Size: 4096
  • Макс Thread бассейн Размер: 10
  • Min Pool Размер резьбы: 10
  • Idle Thread
  • Timeout: 900

Затем я посылаю много запросов на свой сервлет. Логика моего сервлета выглядит так:

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

Netbeans профайлер показывает эти результаты в окне резьба: http://s8.postimage.org/5hupqk4ad/profiler.png

Это кажется, что все 10 нитей были созданы, но только 5 могут работать одновременно. Конечно, я хочу использовать максимальное количество потоков одновременно.

Может кто-нибудь объяснить такое поведение и предложить, как его исправить.

Сообщите мне, если вам нужна дополнительная информация. Thanks

ответ

1

Попытайтесь проверить свою сторону клиента, возможно, у вас есть ограничения.

+0

действительно! причина была в исходном коде клиента. Существовало ограничение на 5 соединений с сервером. –

+0

@Vitaly - Любопытно, что использовал клиент и как он настроен на создание определенного количества подключений к серверу? –

+0

@AndyDufresne - это клиентское приложение с контролем Great Maps (http://greatmaps.codeplex.com/). Этот элемент управления получал плитки из моего серверного приложения. И число потоков синхронных потоков для получения плит было равно 5. –

Смежные вопросы