Linux: 16 ГБ оперативной памяти, 2 процессора
На машине Linux, на которой запущен tomcat с примерно 800 потоками, которые я получил с помощью jvisualVM, но при длине очереди выполнения я получаю только 50, потому что ЦП загружен на 100%, а заблокированные потоки не отображаются. Я получил это значение через NMON.
поэтому у меня возникли следующие вопросы:
С этими настройками, предполагая, что вы используете разъем BIO (1 поток на соединение), и среднее время отклика 50 миллисекунд (так что каждый поток может давать 20 ответов в секунду), вам следует иметь возможность обрабатывать около:
(20 ответов / сек * 800 потоков) + 200 (количество приемов) + net.ipv4.tcp_max_syn_backlog (стек TCP) соединений в секунду.
Но что касается вашего комментария, вы интересует размер HW. На этом этапе, если у вас есть возможность провести другие тесты, поскольку ваш процессор был загружен на 100%, попробуйте повторить тест с половинной нагрузкой. Повторите увеличение / уменьшение нагрузки, пока не достигнете 100% ЦП со средней нагрузкой = количеству ядер. Теперь у вас есть максимальная нагрузка, с которой вы можете справиться с реальным оборудованием. Зная это и ожидаемую нагрузку, вы теперь можете узнать, сколько еще процессоров вам нужно.
Надеюсь, это поможет.