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
, а какое должно применяться к загрузкам клиент-сервер.