Пристань застревает во время испытаний с высокой нагрузкой - PullRequest
2 голосов
/ 20 мая 2011

У меня есть веб-сервис, состоящий из 2 Jettys (работающих с тем же контентом), с балансировкой нагрузки через прокси-сервер высокой доступности.Во время теста, который состоит из средней скорости запросов в секунду (менее 100) и каждого запроса, имеющего большое тело (21 КБ), Jetty застревает - он не отвечает ни на один запрос.

Единственный способчтобы запустить Jetty - это перезапустить его.

Я не нашел никакой информации в файлах журналов (2011_05_20.stderrout.log, 2011_05_20.log) - Кажется, что регистрация прекращается.

Тамкакие-нибудь другие полезные файлы журналов, которые я должен включить в конфигурациях Jetty?

Кто-нибудь когда-либо испытывал это странное поведение?

Могу ли я получить некоторую информацию о состоянии потока из Jetty (я не уверенесли все потоки заняты, запрос отклоняется)?

Заранее спасибо!

1 Ответ

0 голосов
/ 22 декабря 2011

Сколько потоков вы указали в jetty.xml? Я думаю, что по умолчанию (по крайней мере для встроенного Jetty) максимальное количество потоков установлено на уровне около 50. Вы можете изменить это либо программно, либо через jetty.xml. Вместо того, чтобы просто установить максимальное значение max, вы должны определить правильное значение в зависимости от ресурсов сервера и требований к нагрузке.

<Configure id="Server" class="org.eclipse.jetty.server.Server">
<!-- =========================================================== -->
<!-- Server Thread Pool -->
<!-- =========================================================== -->
<Set name="ThreadPool">
    <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
    <!-- initial threads set to 50 -->
    <Set name="minThreads">50</Set>

    <!-- the thread pool will grow only up to 768 -->
    <Set name="maxThreads">768</Set>
    </New>
</Set>

</Configure>

Используйте что-то вроде jVisualVM или BTrace, чтобы узнать, сколько потоков в вашем пуле потоков. Вот ссылка на скрипт BTrace для вывода подсчета потоков: https://github.com/joachimhs/EurekaJ/blob/master/EurekaJ.Scripts/btrace/1.2/btraceScripts/ThreadCounter.java

...