Size: a a a

2020 December 12

с

сонная википедия... in Go-go!
Евгений Омельченко
Это тебе духи варпа подсказали? Или что? Мы вообще ничего про кейс не знаем
источник

ЕО

Евгений Омельченко... in Go-go!
Интернет как он есть:

- Как сделать X на Y
- Возьми лучше Z
источник

с

сонная википедия... in Go-go!
Менять периодичность это как раз было про таймер до go 1.15
источник

S

Sergey in Go-go!
Alexey Shumkin
Дык, как раз в том случае не нужен риплейс :) и голанд такое понимает тоже
ну я вот прям сейчас в проекте закоментил реплейс в go.mod. Он мне теперь все импорты подмодуля не может зарезолвить. и sync depedencies отрабатывает, но ничего не меняет. и бага моя в их багтрекере на этот счёт пока не тронута
источник

S

Sergey in Go-go!
причём тулинг гошный прекрасно переваривает это всё - и тесты и сборка проходит. баг именно у голанда
источник

S

Sergey in Go-go!
а хотя.. импорты кажется починили.. теперь только в go.mod эта зависимость красным сияет  и не лечится..
источник

ep

egor popov in Go-go!
Может кто знает, нормально ли дл простейшего grpc echo сервиса без стриминга выдавать 80к RPS ? Ожидал получить хотябы 200к, в CPU или сеть не упираюсь.
источник

ЕА

Егор Андреевич... in Go-go!
egor popov
Может кто знает, нормально ли дл простейшего grpc echo сервиса без стриминга выдавать 80к RPS ? Ожидал получить хотябы 200к, в CPU или сеть не упираюсь.
так может у вас проблемы не в сервисе, а в ограничениях оси, файловые дескрипторы например?
источник

ep

egor popov in Go-go!
может быть. Мне бы понять адекватен ли вообще порядок цифр. Стоит ли начинать оптимизацию и искать боттелнек.
источник

Z

Zver in Go-go!
egor popov
Может кто знает, нормально ли дл простейшего grpc echo сервиса без стриминга выдавать 80к RPS ? Ожидал получить хотябы 200к, в CPU или сеть не упираюсь.
А по нагрузке как? И профилирование что выдает?
источник

DM

Dmitry M in Go-go!
egor popov
Может кто знает, нормально ли дл простейшего grpc echo сервиса без стриминга выдавать 80к RPS ? Ожидал получить хотябы 200к, в CPU или сеть не упираюсь.
это через одно соединиение?
источник

ep

egor popov in Go-go!
Dmitry M
это через одно соединиение?
да, увеличение числа коннектов дает тоже самое. Точно также когда запускаю клиентов с других серверов => проблема именно со стороны сервера. Т.к. клиенты просто начинают делить эти 80 к между собой.
источник

ep

egor popov in Go-go!
Zver
А по нагрузке как? И профилирование что выдает?
пока не профилировал. По нагрузке - простые echo запросы, без задержек. Скорость ответа порядка 1 мс.
источник

ep

egor popov in Go-go!
server жрет примерно 15 Logical CPU из 40 доступных
источник

ep

egor popov in Go-go!
пытался найти бенчмарки, но всё что нашел оринтированы на низкое латенси, а не на число запросов.
источник

ЕА

Егор Андреевич... in Go-go!
egor popov
может быть. Мне бы понять адекватен ли вообще порядок цифр. Стоит ли начинать оптимизацию и искать боттелнек.
а как вы тестите вообще? сколько клиентов посылает запросы?
источник

ep

egor popov in Go-go!
Егор Андреевич
а как вы тестите вообще? сколько клиентов посылает запросы?
Клиент и сервер на го. На стороне клиента делаю N горутин и X объектов Client. В цикле каждая горутина посылает echo запрос. 200 горутин и 1 Client делают 80к RPS. Увеличение количества горутин или клиентов увеличение производительности не дает. Как и запуск таких клиентов с несколькиз машин.
источник

ep

egor popov in Go-go!
Т.е. пробовал с трех серверов запускать по 200 горутин и 1 Client. В итоге каждый делает 80k/3.
источник

ep

egor popov in Go-go!
Измеряю как со стороны клиента, так и со стороны сервера. раз RPS распределеятеся по клиентам, то проблема точно в сервере.
источник

ep

egor popov in Go-go!
И проблема точно со стороны GRPC механизмов, т.к. вызываю ту же функцию echo обработчик руками, получаю 200к+ => в самом обработчике боттелнека нет.
источник