Конфигурация Netty HTTP Server на основе производства для высокого QPS и с размером тела запроса 10 КБ на запрос - PullRequest
0 голосов
/ 07 апреля 2020

Я пишу http-сервер с высоким qps и низкой задержкой в ​​Netty.
Я попытался найти документацию по Netty, но она меньше, и не так много полноценных примеров Netty HTTP с настройкой конфигурации. И ресурсы на Netty доступны гораздо меньше онлайн. Поэтому нужны некоторые ресурсы или конфигурации, которые должны быть в идеальной производственной среде.

У меня 8-ядерный 16 ГБ блок. Он имеет 5-10 кбит / с и 10kb json размер тела запроса.

В настоящее время я сохранил различные группы событий для ввода-вывода (размер 24 потока) и рабочих потоков (размер 48 потоков).

Ниже приведены несколько конфигов:

bootstrap = bootstrapFactory.newServerBootstrap(24, 48);
bootstrap.option(ChannelOption.SO_RCVBUF, 1048576);
bootstrap.option(ChannelOption.TCP_NODELAY, true);
bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 30000);
bootstrap.option(ChannelOption.SO_BACKLOG, 4096);
bootstrap.option(ChannelOption.SO_SNDBUF, 1048576);
bootstrap.option(ChannelOption.SO_REUSEADDR, true);
bootstrap.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT);
...