172 похожих чатов

``` Websocket коннекты, 1 раз в секунду обмен сообщением - текстовым

датой и временем 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...

8 ответов

25 просмотров

мы не видим настройки

а почему у тебя rx и tx должно быть одинаковое ? потери и повторы есть отдельно и их можно посмотреть в системе , а не считать или не считать что они есть или их нет

Andrey-Syvrachev Автор вопроса
George Gaál
мы не видим настройки

Envoy: https://t.me/kubernetes_ru/769720

Andrey-Syvrachev Автор вопроса

Envoy по памяти более компакнтный

Andrey-Syvrachev Автор вопроса
Vladimir Zhurkin
а почему у тебя rx и tx должно быть одинаковое ? п...

на сетевом адаптере потери и повторы 0 Как посмотреть на уровне TCP в системе?

Andrey Syvrachev
на сетевом адаптере потери и повторы 0 Как посмотр...

вроде ss показывает и стандартный node exporter собирает это информацию

Andrey-Syvrachev Автор вопроса

И на 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]

Andrey-Syvrachev Автор вопроса
Andrey Syvrachev
И на envoy и на NGINX latency одинаковый получился...

Вывод: Envoy проигрывает NGINX по CPU в 1.6...2 раза, причем чем больше коннектов, тем меньше проигрышь. Envoy выигрывает NGINX по памяти процентов на 30.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта