Size: a a a

2020 December 11

Z

Zver in Go-go!
Михаил
Как и fork. Да и вообще я не призывал никого пиратить
Форк у меня работает на закрытых.
источник

ВС

Владимир Столяров... in Go-go!
но там нет управления сетями, а если тесты запускаются внутри контейнера с сокетом, нужно наводить сеть между ними
источник

М

Михаил in Go-go!
Zver
Форк у меня работает на закрытых.
А, я не так понял. Просто у меня лицензия, поэтому даже не знал, что там какие-то ограничения есть
источник

FL

First Last in Go-go!
А есть кто nomad юзает?
источник

DN

Denis Nest in Go-go!
First Last
А есть кто nomad юзает?
Есть
источник

FL

First Last in Go-go!
Denis Nest
Есть
Могу по stateful спросить?
На примере муськи
источник

D

Dmitry in Go-go!
господа
а кто-то юзает https://github.com/gorilla/websocket ?
сколько коннектов выдерживает при активном общении клиентов между собой ?
у меня на 2к коннектах которые раз в 10 секунд шлют сообщение которое потом рестранслируется остальным проц уходит в 99% нагрузки,pprof говорит что основная нагрузка идет на syscall.Syscall
источник

П

Павел in Go-go!
раз в 10 секунд происходит рассылка 2k*2k(4 миллиона) сообщений
источник

D

Dmitry in Go-go!
поменьше
там каждый клиент шлет мессагу рендомно, слип 10-100 секунд
источник

D

Dmitry in Go-go!
но в целом порядок примерно такой да, 2к клиентов шлют друг другу сообщения
по чути такой себе чат
источник

ВС

Владимир Столяров... in Go-go!
можно покрутить размер ReadBufferSize, WriteBufferSize, чтобы уменьшить число системных вызовов, но цена этому будет увеличение задержки доставки
источник

Z

Zver in Go-go!
Dmitry
господа
а кто-то юзает https://github.com/gorilla/websocket ?
сколько коннектов выдерживает при активном общении клиентов между собой ?
у меня на 2к коннектах которые раз в 10 секунд шлют сообщение которое потом рестранслируется остальным проц уходит в 99% нагрузки,pprof говорит что основная нагрузка идет на syscall.Syscall
А сискол что?
источник

Z

Zver in Go-go!
Именно сеть?
источник

D

Dmitry in Go-go!
источник

D

Dmitry in Go-go!
вот pprof
источник

ВС

Владимир Столяров... in Go-go!
или буферизовать более верхнеуровнево сообщения (сбрасывать буфер либо по достижении определенного размера, либо по таймауту)
источник

DP

Daniel Podolsky in Go-go!
Dmitry
но в целом порядок примерно такой да, 2к клиентов шлют друг другу сообщения
по чути такой себе чат
Это много. Надо агрегировать сообщения, слать пачками
источник

D

Dmitry in Go-go!
Daniel Podolsky
Это много. Надо агрегировать сообщения, слать пачками
сообщения пишутся в канал горутины на отправку каждому клиента
как только приходит сообщение то горутина выгребает все что есть в канале и высылает одной пачкой
источник

D

Dmitry in Go-go!
Владимир Столяров
можно покрутить размер ReadBufferSize, WriteBufferSize, чтобы уменьшить число системных вызовов, но цена этому будет увеличение задержки доставки
спасибо, погляжу
подумываю взять мейлрушный вебсокет сервер, вроде как, они держат 3 млн соединений
источник

ВС

Владимир Столяров... in Go-go!
можно встать select-ом на 2 канала: с сообщениями и с time.After
при получении сообщения из 1-го append-ить его в слайс (и если там >N элементов, отправлять их), при срабатывании time.After просто отправлять все сообщения
источник