Я не понимаю поведения стеклянной рыбы 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
действительно! причина была в исходном коде клиента. Существовало ограничение на 5 соединений с сервером. –
@Vitaly - Любопытно, что использовал клиент и как он настроен на создание определенного количества подключений к серверу? –
@AndyDufresne - это клиентское приложение с контролем Great Maps (http://greatmaps.codeplex.com/). Этот элемент управления получал плитки из моего серверного приложения. И число потоков синхронных потоков для получения плит было равно 5. –