
Сергей
27.08.2017
11:14:49
вот)
тогда спрашивайте что именно интересует

Айбелив
27.08.2017
11:15:12
ну интересует изначальный вопрос

Сергей
27.08.2017
11:15:33
я могу сказать что когда я проводил тесты нгинкс аз хапрокси на l4 тесте, у нгинкса тогад стрим модуль стал доступен, то хапрокси ровно в половину проиграл

Google

Айбелив
27.08.2017
11:16:14
а L7 + TLS?
я думаю, что хапрокси перетянет
да это пофиг на самом деле

Сергей
27.08.2017
11:16:53
с чего такая уверенность?

Айбелив
27.08.2017
11:17:18

Сергей
27.08.2017
11:17:25
а сами тестили?

Айбелив
27.08.2017
11:17:29
-

Сергей
27.08.2017
11:18:16
я вообще на хапрокси видео норм балансировщик - это была железяка с хапрокси на борту и с кучей аппаратных ускорялок)
ну а вообще хапрокси как и нгинкс - это софт из д ругой эпохи, там рулит статическая конйигурация
потому в мире контейнеров и кубера - оно выглядит как мозговой слизень
или пложить сущности, или генерить конфиг на лету каким-то образон и заставлять его перечитать

Айбелив
27.08.2017
11:19:36
ладно, вернёмся к моим баранам.
AppsCode мне как минимум интересен за кастомные объекты, в которые можно пихать кастомные правила для Haproxy.
А также есть задача затерминировать трафик на Haproxy и включить в запрос заголовок с отпечатком клиентского сертификата.

Сергей
27.08.2017
11:19:39
а все новое в том или ином виде пилится на го)

Google

Сергей
27.08.2017
11:19:59
о как
sni

Айбелив
27.08.2017
11:20:14
я знаю, что на nginx это можно сделать, но мне наркотиков не хватит чтобы это до завтра реализовать

Сергей
27.08.2017
11:22:33
короче если вам с хапрокси не нравится что пложятся сущности, может стоит подумать о каком-то темплейте и скрестить его с кубером?
но на сколько я знаю, хапрокси сам не умеет перечитывать конфиг без рестарта и отвала соединений

Айбелив
27.08.2017
11:31:31

Сергей
27.08.2017
11:32:07
он рвет соединения
во всяком случаи когад я послдений раз трогал его
это 1,5 версия была вроде
не так давно

Айбелив
27.08.2017
11:32:40
любой ингресс-контроллер, который я видел, имел один инстанс (Трафик, например). Так какого фига AppsCode Voyager плодит один контроллер на один сервис?

Сергей
27.08.2017
11:33:32
я же выше писал почему
там под капотом хапрокси
у него статичный конфиг

Айбелив
27.08.2017
11:33:44
1.7
я юзал чистый хапрокси 1.7, всё отлично там работает. Конфиг правится, systemd релоадит

Google

Сергей
27.08.2017
11:34:40
соединения рвутся?

Айбелив
27.08.2017
11:34:55
нет

Сергей
27.08.2017
11:35:32
тестили?
https://www.haproxy.com/blog/truly-seamless-reloads-with-haproxy-no-more-hacks/
ну тогда да непонятно почему так
может они не хотят что бы один сервис мешал другому
в этом тоже есть часть правды
что бы нагруженный сервси не мешал не нагруженным

Айбелив
27.08.2017
11:41:57
из доки хапрокси 1.7
неявно говорится, что при релоаде запускается ещё один процесс и старый завершает свою работу

Сергей
27.08.2017
11:43:16
single-threaded

Сергей
27.08.2017
11:43:17
(

Айбелив
27.08.2017
11:43:32
ну это да

Сергей
27.08.2017
11:43:49
мы по факту то упираемся в производительность одного ядра
и 10Г хер там плавал
хотя для того же нгинкс - это вполне реальные цифры
вот потмоу и еще одна причина почему плодят

Айбелив
27.08.2017
11:44:25
nginx тоже однопоточный

Сергей
27.08.2017
11:44:34
на многопроцессорных системах это выгоднее

Google

Сергей
27.08.2017
11:44:43
там есть воркер процессы
)
допустим если у вас один процесс может отработать гигабит трафика, то 8 процессов - уже 8)
да там куча других лимитирующих факторов
но посыл вы поняли
на деле R8хх серии с 24 потоками и 32 гигами памяти, на ядре 4 ветки в однопоточном режиме я смог выжать hls трафика порядка полтора гигабита
это на нгинкс
ну и с воркер ауто получил полку по сетевой карте 10Г и суммарной нагрузке на все кпу 30-40%
это когда я тестил нгикс с rtmp модулем с допилиным hls

Айбелив
27.08.2017
11:50:29
ну нам такая производительность пока не нужна так-то, но я понял к чему Вы

Admin
ERROR: S client not available

Сергей
27.08.2017
11:50:48
у меня был кейс видеостриминга)
к сожалению или к радости фирмы больше нет
ну я е тому, что думаю свой гигабит хапрокси должен отдавать

Айбелив
27.08.2017
11:51:53
этого более чем

Сергей
27.08.2017
11:51:56
а если у вас еще и публичное облако то у вас явно нагрузки далекие до гигабита
ну я вообще к посылу почему может быть обоснованно пложить сужности, тупо утилизировать нормально многопроцессорную архитектуру

Айбелив
27.08.2017
11:52:47
3 baremetal-сервера
дедики

Сергей
27.08.2017
11:53:08
ну это не пол тыщи)

Google

Сергей
27.08.2017
11:53:12
так что норм
блин пойду поковыряю в сторону как же люди с 10Г живут и юзают хапрокси

Айбелив
27.08.2017
11:54:22
бОльшая часть процессорного времени уходит на терминацию, остальное работает со скоростью света

Сергей
27.08.2017
11:54:54
а что за процы?

Айбелив
27.08.2017
11:55:01
зионы

Сергей
27.08.2017
11:55:05
все же там много в процах придумали для ускорения терминации

Айбелив
27.08.2017
11:55:06
1540

Сергей
27.08.2017
11:56:35
http://www.haproxy.org/img/bench-20090418-standard-1proc.png

Айбелив
27.08.2017
11:56:36
терминация упирается не только в качество процессоров, но и в качество кода. Golang не очень хорошо справляется с терминацией. Нужно использовать большие числа для Диффи-Хелмана, где С справляется гораздо лучше

Сергей
27.08.2017
11:56:43
хотя иследование староватое
голенг вроде сишный код переиспользовать умеет, может можно улучшить ситуацию

Айбелив
27.08.2017
11:58:20
gc тормозит

Сергей
27.08.2017
11:58:49
ну это недостаток всех языков с gc
ну вообще старый добрый С/С++ живее всех живых
хотя в голенг с 1,7 версии все на много лучше с gc

Айбелив
27.08.2017
12:01:02
traefik всё равно не вывезет то, что может haproxy в один поток)

Сергей
27.08.2017
12:01:33
вы в его код загляните, там намного страшнее
когда наши разрабы в него тыкнулись они чуть ли не свой начали пилить

Айбелив
27.08.2017
12:02:26
я поверхностно смотрел на код трафика, даже немного допиливал под свои нужды. Код более-менее
но тут на вкус и цвет

Сергей
27.08.2017
12:02:46
не ну я опс, мне то вообще любой код говно