Я управляю приложением, развернутым на серверах Tomcat с nginx впереди, в качестве обратного прокси. Мне нужна помощь для определения размера пулов потоков / пулов соединений / ... Я нахожу довольно много документации, описывающей различные параметры (исполнители Tomcat, рабочие nginx, keepalive, ...), но не так много документации, объясняющей, как найти правильный размер. И я не уверен, что правильно понимаю документацию.
Например, я вижу в своих графиках мониторинга nginx, что у меня около 350 активных подключений, 30 записывающих подключений и 320 ожидающих подключений. У меня около 30 запросов в секунду.
У меня есть 200 потоков, настроенных на сервере Tomcat для обработки HTTP.
У меня есть 1 рабочий процесс на nginx с 1024 рабочими подключениями.
Насколько я понимаю из документации, ожидающие соединения - это HTTP1.1 keepalive. Но я также понимаю, что nginx выполняет HTTP1.0 только в качестве прокси. Я немного озадачен. Эти ожидающие соединения, использующие потоки Tomcat, ничего не делают?
Знаете ли вы хороший ресурс по определению размеров Tomcat / nginx (или другого обратного прокси, концепции должны быть такими же).
Спасибо за вашу помощь!
1 рабочий процесс на nginx с 1024 рабочими подключениями.
Таким образом, вы не можете обрабатывать более 1 * 1024 соединений, а nginx не может использовать более 1 процессорного ядра.
Но я также понимаю, что nginx работает только с HTTP1.0 в качестве прокси.
Неправильно. Видеть: http://nginx.org/r/proxy_http_version
Эти ожидающие соединения используют потоки Tomcat, ничего не делая?
Нет. Это поддерживающие соединения с клиентами. Также он может включать соединения keepalive с бэкэндами, но не более, чем вы установили keepalive
директива ( http://nginx.org/r/keepalive ).