датой и временем 25..30 байт размером.
Intel Xeon E1230v5 32GB DDR4.
Debian.
При 0 коннектов RAM USAGE = 700Mb.
NGINX: 60000 4.25 GB RAM 270% cpu RX: 86 Mbit TX:74 Mbit
NGINX: 50000 3.75 GB RAM 240% cpu RX: 72 Mbit TX:59Мбит
NGINX: 40000 3.28 GB RAM 220% cpu RX: 53 Mbit TX:45 Mbit
NGINX: 30000 2.73 GB RAM 200% cpu RX: 39 Mbit TX:36 Mbit
NGINX: 20000 2.22 GB RAM 180% cpu RX: 28 Mbit TX:24Mbit
NGINX: 10000 1.70 GB RAM 135% cpu RX: 14.5 Mbit TX:9Mbit
ENVOY: 20000 1.87 GB RAM 300% CPU. RX: 28 Mbit TX:24Mbit
ENVOY: 10000 1.43 GB RAM 200% CPU RX: 14.5 Mbit TX:9Mbit
```
!! Если трафик привести к байтам в секунду - получатеся порядка 100байт. Но + 42 байта Max/Ip/Tcp заголовки + Веб сокет заголовок 14 байт. Получается 90 байт на пакет.
90*10000*8бит = 7.2 Мбита на 10000 коннектов (должно быть) а в реале Мбит? Почему? Ретрансмиты и потери? Или не так считаю? Не хватает еще 20-30 байт на пакет ....
Соотношение RX и TX разное... Отношу это к потерям на уровне TCP...
мы не видим настройки
а почему у тебя rx и tx должно быть одинаковое ? потери и повторы есть отдельно и их можно посмотреть в системе , а не считать или не считать что они есть или их нет
Envoy: https://t.me/kubernetes_ru/769720
Envoy по памяти более компакнтный
на сетевом адаптере потери и повторы 0 Как посмотреть на уровне TCP в системе?
вроде ss показывает и стандартный node exporter собирает это информацию
И на envoy и на NGINX latency одинаковый получился. В среднем 30мс (на пинге 10мс). Разброс вот такой: Connecting: 0, Connected: 10000, Latency: 33.881573ms [9.778265ms..55.895169ms] Connecting: 0, Connected: 10000, Latency: 16.890846ms [9.729605ms..56.853069ms] Connecting: 0, Connected: 10000, Latency: 31.177203ms [9.840883ms..88.269633ms]
Вывод: Envoy проигрывает NGINX по CPU в 1.6...2 раза, причем чем больше коннектов, тем меньше проигрышь. Envoy выигрывает NGINX по памяти процентов на 30.
Обсуждают сегодня