2013-05-22 6 views
0

Во-первых, я не совсем уверен, что произойдет, если будет достигнуто максимальное количество потоков для автономного сервера Resin 4.0.32. Основываясь на моем наблюдении, Resin либо приостановит запрос (обрабатывает их по порядку), либо отключит соединение. Но я не знаю, как Ресин решает это. Итак, я хочу знать, что происходит за этим.Настроить поведение Resin 4.0.32, если достигнуто максимальное количество потоков

Также мне интересно, могу ли я настроить поведение сервера для этого случая, поэтому предположим, что смола достигла максимального количества разрешенных потоков. и для запроса в очереди, если они находятся в очереди более 2 минут, я хочу, чтобы сервер возвращал 503 клиенту. Возможно ли это?

Любые комментарии или информация приветствуются. Спасибо.

Мы используем смолы 4.0.32 открытым исходным кодом, Java 1.6_16

ответ

0

Я подтвердил FERG в официальном форуме Caucho о поведении:

Обычно вы никогда не должны ударить thread-max, потому что для параметра thread-max установлено намного большее число, чем обычно требуется ваше приложение.

Если это так, то ожидающий поток execute() поставлен в очередь. В конце концов один из потоков завершит и заберет запрошенный execute().

(Если вы намеренно установить потокобезопасности макс к чему-то очень низким, что может означать, что все нити делают полезные вещи. Но нет никаких причин, чтобы сделать это. Нити относительно дешевы.)

http://forum.caucho.com/showthread.php?t=29823

Таким образом, это подтверждает мое наблюдение, что после достижения максимально допустимых потоков, другой запрос будет поставлен в очередь для обработки. А также, если есть намного больше, чем может обрабатывать сервер, некоторые из запросов будут отклонены.

Для моего второго вопроса о том, можем ли мы настроить для возврата 503 о запросе, я сделал больше исследований, и я заключаю, что это невозможно сделать с помощью автономной смолы, поскольку я не могу найти никакой информации об этом. Единственное, что я могу найти, это то, что веб-сервер Apache вернет 503 при работе со смоляным сервером приложений, когда веб-сервер не смог подключиться к серверу приложений смолы.

Надеюсь, это поможет.