Скорость TCP сообщений между клиентом-серверов в облаке
От: DTB Россия  
Дата: 03.06.22 10:49
Оценка:
Никто не замерял? Не могу понять настолько тормозная (в плане latency) сеть в Я-Облаке, да и в целом в линукс виртуалках.

Под замером имею в виду количество запросов в секунду на одно(важно) соединение, типа обычного пинг-понга или эхо.

Например результат бенча того же redis по сети с одним клиентом (-c 1), а то по умолчанию там 50 паралельных соединений и сходу показывает красивую картинку, которая на проверку оказывается ужос-ужос
Have fun...
Re: Скорость TCP сообщений между клиентом-серверов в облаке
От: Anton Batenev Россия https://github.com/abbat
Дата: 03.06.22 12:51
Оценка:
Здравствуйте, DTB, Вы писали:

DTB> Никто не замерял? Не могу понять настолько тормозная (в плане latency) сеть в Я-Облаке, да и в целом в линукс виртуалках.

DTB> Под замером имею в виду количество запросов в секунду на одно(важно) соединение, типа обычного пинг-понга или эхо.

Внутри одной AZ менее 1ms (сейчас нет под рукой замерить), между разными AZ из того, что под рукой:

ru-central1-a -> ru-central1-b

$ ping -c 3 xx.xx.xx.xx
PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.
64 bytes from xx.xx.xx.xx: icmp_seq=1 ttl=63 time=3.73 ms
64 bytes from xx.xx.xx.xx: icmp_seq=2 ttl=63 time=3.35 ms
64 bytes from xx.xx.xx.xx: icmp_seq=3 ttl=63 time=3.36 ms

--- xx.xx.xx.xx ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 3.351/3.481/3.732/0.177 ms


ru-central1-a -> ru-central1-c

$ ping -c 3 xx.xx.xx.xx
PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.
64 bytes from xx.xx.xx.xx: icmp_seq=1 ttl=63 time=4.16 ms
64 bytes from xx.xx.xx.xx: icmp_seq=2 ttl=63 time=3.66 ms
64 bytes from xx.xx.xx.xx: icmp_seq=3 ttl=63 time=3.59 ms

--- xx.xx.xx.xx ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 3.588/3.800/4.158/0.254 ms


ru-central1-b -> ru-central1-c

$ ping -c 3 xx.xx.xx.xx
PING xx.xx.xx.xx (xx.xx.xx.xx) 56(84) bytes of data.
64 bytes from xx.xx.xx.xx: icmp_seq=1 ttl=63 time=7.64 ms
64 bytes from xx.xx.xx.xx: icmp_seq=2 ttl=63 time=7.08 ms
64 bytes from xx.xx.xx.xx: icmp_seq=3 ttl=63 time=7.03 ms

--- xx.xx.xx.xx ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 7.032/7.250/7.641/0.276 ms
Re[2]: Скорость TCP сообщений между клиентом-серверов в облаке
От: DTB Россия  
Дата: 03.06.22 13:17
Оценка: +1
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, DTB, Вы писали:


DTB>> Никто не замерял? Не могу понять настолько тормозная (в плане latency) сеть в Я-Облаке, да и в целом в линукс виртуалках.

DTB>> Под замером имею в виду количество запросов в секунду на одно(важно) соединение, типа обычного пинг-понга или эхо.

AB>Внутри одной AZ менее 1ms (сейчас нет под рукой замерить), между разными AZ из того, что под рукой:


AB>ru-central1-a -> ru-central1-b


AB>[code]$ ping -c 3 xx.xx.xx.xx

...

данные пинга (ICMP) не особо о чем то говорят, т.к. это даже не TCP, он вполне может показывать неплохие (или не очень цифры), при этом реальное приложение будет работать по сети совсем по-другому.
Have fun...
Re: Скорость TCP сообщений между клиентом-серверов в облаке
От: Zhendos  
Дата: 03.06.22 14:02
Оценка: 2 (1)
Здравствуйте, DTB, Вы писали:

DTB>Никто не замерял? Не могу понять настолько тормозная (в плане latency) сеть в Я-Облаке, да и в целом в линукс виртуалках.


DTB>Под замером имею в виду количество запросов в секунду на одно(важно) соединение, типа обычного пинг-понга или эхо.


DTB>Например результат бенча того же redis по сети с одним клиентом (-c 1), а то по умолчанию там 50 паралельных соединений и сходу показывает красивую картинку, которая на проверку оказывается ужос-ужос


Думаю стоит почитать эту статью: https://habr.com/ru/company/flant/blog/651867/
Так автор пытается выжать все что можно из виртуальной машины с Linux в облаке Amazon
в плане скорости обработки HTTP. Там и методы измерения и что можно подркрутить чтобы быстрее работало.
Re[2]: Скорость TCP сообщений между клиентом-серверов в облаке
От: DTB Россия  
Дата: 03.06.22 14:10
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Здравствуйте, DTB, Вы писали:


DTB>>Никто не замерял? Не могу понять настолько тормозная (в плане latency) сеть в Я-Облаке, да и в целом в линукс виртуалках.


DTB>>Под замером имею в виду количество запросов в секунду на одно(важно) соединение, типа обычного пинг-понга или эхо.


DTB>>Например результат бенча того же redis по сети с одним клиентом (-c 1), а то по умолчанию там 50 паралельных соединений и сходу показывает красивую картинку, которая на проверку оказывается ужос-ужос


Z>Думаю стоит почитать эту статью: https://habr.com/ru/company/flant/blog/651867/

Z>Так автор пытается выжать все что можно из виртуальной машины с Linux в облаке Amazon
Z>в плане скорости обработки HTTP. Там и методы измерения и что можно подркрутить чтобы быстрее работало.

спасибо, посмотрю, может и для одного соединения что-нибудь подходящее будет. так то когда в масштабе, то вроде цифры и ничего (редис уже упоминал), а вот когда нужно разогнать пайплайн по сети, который не масштабируется, то привет
Have fun...
Re[3]: Скорость TCP сообщений между клиентом-серверов в облаке
От: Anton Batenev Россия https://github.com/abbat
Дата: 03.06.22 15:21
Оценка:
Здравствуйте, DTB, Вы писали:

DTB> данные пинга (ICMP) не особо о чем то говорят, т.к. это даже не TCP


Ну так-то это его часть, но да, абстрактный qps к некоему абстрактному сервису так же особо ни о чем не скажет. По моему опыту сеть там вполне норм, но очень не хватает IPv6 и открытого 25-го порта.
Re[4]: Скорость TCP сообщений между клиентом-серверов в облаке
От: DTB Россия  
Дата: 03.06.22 15:27
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, DTB, Вы писали:


DTB>> данные пинга (ICMP) не особо о чем то говорят, т.к. это даже не TCP


AB>Ну так-то это его часть, но да, абстрактный qps к некоему абстрактному сервису так же особо ни о чем не скажет. По моему опыту сеть там вполне норм, но очень не хватает IPv6 и открытого 25-го порта.


собственно одна из задач, понять, 8000 (среднее по больнице, тестилось на разных ОС(линукс) и виртуалках\железе, разные реализации TPC сервера) запросов в секунду на одно соединение это нормально и с этим придется жить, или же можно что-то подкрутить, если да, то насколько и как
Have fun...
Re[5]: Скорость TCP сообщений между клиентом-серверов в облаке
От: Anton Batenev Россия https://github.com/abbat
Дата: 04.06.22 00:46
Оценка:
Здравствуйте, DTB, Вы писали:

DTB> собственно одна из задач, понять, 8000 (среднее по больнице, тестилось на разных ОС(линукс) и виртуалках\железе, разные реализации TPC сервера) запросов в секунду на одно соединение это нормально и с этим придется жить, или же можно что-то подкрутить, если да, то насколько и как


8K rps в одном tcp соединении — это 0.125 ms на запрос. Для трафика между двумя виртуалками в одной AZ (средний RTT ~0.15-0.2 ms) — это очень хороший результат. Эксперимента ради можешь попробовать поиграть с sysctl-ями:

net.core.rmem_max
net.ipv4.tcp_rmem


Но я не думаю, что профит (именно в рамках одного соединения) выйдет сильно дальше погрешности.
Re: Скорость TCP сообщений между клиентом-серверов в облаке
От: vaa  
Дата: 04.06.22 11:03
Оценка:
Здравствуйте, DTB, Вы писали:

DTB>Никто не замерял? Не могу понять настолько тормозная (в плане latency) сеть в Я-Облаке, да и в целом в линукс виртуалках.


DTB>Под замером имею в виду количество запросов в секунду на одно(важно) соединение, типа обычного пинг-понга или эхо.


DTB>Например результат бенча того же redis по сети с одним клиентом (-c 1), а то по умолчанию там 50 паралельных соединений и сходу показывает красивую картинку, которая на проверку оказывается ужос-ужос


https://iperf.fr/
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Скорость TCP сообщений между клиентом-серверов в облаке
От: Mr.Delphist  
Дата: 05.06.22 13:13
Оценка:
Здравствуйте, DTB, Вы писали:

DTB>а вот когда нужно разогнать пайплайн по сети, который не масштабируется, то привет


Так вот эту проблему и надо решать тогда — облака тут не при чём. Если протокол предполагает какое-то сильно-сессионное взаимодействие, то ни ферма из nGinx, ни супер-толстая оптика не помогут: двое пашут, десятеро ICMP машут.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.