Салтыдык
Sergey
он рвет соединения
Sergey
во всяком случаи когад я послдений раз трогал его
Sergey
это 1,5 версия была вроде
Sergey
не так давно
Салтыдык
любой ингресс-контроллер, который я видел, имел один инстанс (Трафик, например). Так какого фига AppsCode Voyager плодит один контроллер на один сервис?
Салтыдык
Sergey
я же выше писал почему
Sergey
там под капотом хапрокси
Sergey
у него статичный конфиг
Салтыдык
1.7
Салтыдык
Салтыдык
я юзал чистый хапрокси 1.7, всё отлично там работает. Конфиг правится, systemd релоадит
Sergey
соединения рвутся?
Салтыдык
нет
Sergey
тестили?
Sergey
https://www.haproxy.com/blog/truly-seamless-reloads-with-haproxy-no-more-hacks/
Sergey
ну тогда да непонятно почему так
Sergey
может они не хотят что бы один сервис мешал другому
Sergey
в этом тоже есть часть правды
Sergey
что бы нагруженный сервси не мешал не нагруженным
Салтыдык
Салтыдык
из доки хапрокси 1.7
Салтыдык
неявно говорится, что при релоаде запускается ещё один процесс и старый завершает свою работу
Sergey
single-threaded
Sergey
(
Салтыдык
ну это да
Sergey
мы по факту то упираемся в производительность одного ядра
Sergey
и 10Г хер там плавал
Sergey
хотя для того же нгинкс - это вполне реальные цифры
Sergey
вот потмоу и еще одна причина почему плодят
Салтыдык
nginx тоже однопоточный
Sergey
на многопроцессорных системах это выгоднее
Sergey
там есть воркер процессы
Sergey
)
Sergey
допустим если у вас один процесс может отработать гигабит трафика, то 8 процессов - уже 8)
Sergey
да там куча других лимитирующих факторов
Sergey
но посыл вы поняли
Sergey
на деле R8хх серии с 24 потоками и 32 гигами памяти, на ядре 4 ветки в однопоточном режиме я смог выжать hls трафика порядка полтора гигабита
Sergey
это на нгинкс
Sergey
ну и с воркер ауто получил полку по сетевой карте 10Г и суммарной нагрузке на все кпу 30-40%
Sergey
это когда я тестил нгикс с rtmp модулем с допилиным hls
Салтыдык
ну нам такая производительность пока не нужна так-то, но я понял к чему Вы
Sergey
у меня был кейс видеостриминга)
Sergey
к сожалению или к радости фирмы больше нет
Sergey
Sergey
ну я е тому, что думаю свой гигабит хапрокси должен отдавать
Салтыдык
этого более чем
Sergey
а если у вас еще и публичное облако то у вас явно нагрузки далекие до гигабита
Sergey
ну я вообще к посылу почему может быть обоснованно пложить сужности, тупо утилизировать нормально многопроцессорную архитектуру
Салтыдык
3 baremetal-сервера
Салтыдык
дедики
Sergey
ну это не пол тыщи)
Sergey
так что норм
Sergey
блин пойду поковыряю в сторону как же люди с 10Г живут и юзают хапрокси
Салтыдык
бОльшая часть процессорного времени уходит на терминацию, остальное работает со скоростью света
Sergey
а что за процы?
Салтыдык
зионы
Sergey
все же там много в процах придумали для ускорения терминации
Салтыдык
1540
Sergey
http://www.haproxy.org/img/bench-20090418-standard-1proc.png
Салтыдык
терминация упирается не только в качество процессоров, но и в качество кода. Golang не очень хорошо справляется с терминацией. Нужно использовать большие числа для Диффи-Хелмана, где С справляется гораздо лучше
Sergey
хотя иследование староватое
Sergey
голенг вроде сишный код переиспользовать умеет, может можно улучшить ситуацию
Салтыдык
gc тормозит
Салтыдык
Sergey
ну это недостаток всех языков с gc
Sergey
ну вообще старый добрый С/С++ живее всех живых
Sergey
хотя в голенг с 1,7 версии все на много лучше с gc
Салтыдык
traefik всё равно не вывезет то, что может haproxy в один поток)
Sergey
вы в его код загляните, там намного страшнее
Sergey
когда наши разрабы в него тыкнулись они чуть ли не свой начали пилить
Салтыдык
я поверхностно смотрел на код трафика, даже немного допиливал под свои нужды. Код более-менее
Салтыдык
но тут на вкус и цвет
Sergey
не ну я опс, мне то вообще любой код говно
Sergey
что более 30 строк
Sergey
Салтыдык
а я больше программист) хотя я уже не уверен)
Sergey
не меня Бог миловал
Sergey