Каковы наиболее рекомендуемые Netty ChannelOptions для клиент-серверных загрузчиков? - PullRequest
0 голосов
/ 02 мая 2019

Netty обеспечивает поддержку различных ChannelOption с. Некоторые из них, такие как TCP_QUICKACK, похоже, что они обычно улучшают производительность в подавляющем большинстве случаев использования, но их все равно необходимо обнаружить и включить вручную.

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

Чтобы прояснить ситуацию, скажем, я пытаюсь найти лучшее промежуточное положение для пропускной способности, пропускной способности и задержки, и я работаю с каналами HTTP, которые содержат как маленькие, так и большие сообщения. Я также работаю в среде с доступной Epoll.

Вот некоторые ChannelOption, которые, как я вижу, использовались довольно часто:

  • ChannelOption.SO_BACKLOG
  • ChannelOption.SO_KEEPALIVE
  • ChannelOption.SO_REUSEADDR
  • UnixChannelOption.SO_REUSEPORT
  • EpollChannelOption.TCP_CORK
  • EpollChannelOption.TCP_QUICKACK
  • EpollChannelOption.TCP_FASTOPEN & EpollChannelOption.TCP_FASTOPEN_CONNECT

Опять же, я знаю, что какие из них использовать, и какие ценности использовать, сильно варьируется в зависимости от индивидуального варианта использования каждого, но я ищу какое-то руководство высокого уровня по общей наилучшей практике / рекомендациям в большинстве случаев использования - или, по крайней мере, какие из них обычно заслуживают изучения и сравнительного анализа. Также могут быть полезны примеры конфигураций для конкретного приложения.

Кроме того, мне не совсем понятно, что из вышеперечисленного должно применяться к option *1047* против childOption, а какое должно применяться к загрузкам клиент-сервер.

...