нагрузочное тестирование с разных IP
От: vvv848165@ya.ru  
Дата: 12.03.20 07:57
Оценка:
Есть сервер к которому будут присоединены 35000 клиентов которые изредка посылают короткие TCP-IP сообщения (и держат каналы открытыми)
Очень бы хотелось проверить на производительность...
1) Будет ли большая разница если проверять не с разных IP а всё на одном компе через 127.0.0.1 (или на другом одном из локальной сети)
2) Почему?
3) Можно ли на халяву эмитировать подключения с разных IP?
Re: нагрузочное тестирование с разных IP
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.03.20 08:23
Оценка: 6 (2)
Здравствуйте, vvv848165@ya.ru, Вы писали:

VYR>Есть сервер к которому будут присоединены 35000 клиентов которые изредка посылают короткие TCP-IP сообщения (и держат каналы открытыми)

VYR>Очень бы хотелось проверить на производительность...
VYR>1) Будет ли большая разница если проверять не с разных IP а всё на одном компе через 127.0.0.1 (или на другом одном из локальной сети)
VYR>2) Почему?
VYR>3) Можно ли на халяву эмитировать подключения с разных IP?

loopback вообще ведет себя сильно по-другому, чем нормальный сетевой интерфейс. На линухе соединение через loopback заворачивается в обход большей части TCP-стека, так что оно практически такое же дешевое, как AF_UNIX. А на венде оно парадоксально дорогое.

Я думаю, адекватной проверкой будет проверка с другого компьютера. Хотя, конечно, организовать с другого компьютера 35К исходящих соединений — само по себе challenge. Напиши тестовую программу на Go, там стандартная библиотека избавит тебя от существенной части головной боли.
Re: нагрузочное тестирование с разных IP
От: Maniacal Россия  
Дата: 12.03.20 08:32
Оценка: 3 (1) +1
Здравствуйте, vvv848165@ya.ru, Вы писали:

VYR>Есть сервер к которому будут присоединены 35000 клиентов которые изредка посылают короткие TCP-IP сообщения (и держат каналы открытыми)

VYR>Очень бы хотелось проверить на производительность...
VYR>1) Будет ли большая разница если проверять не с разных IP а всё на одном компе через 127.0.0.1 (или на другом одном из локальной сети)
VYR>2) Почему?
VYR>3) Можно ли на халяву эмитировать подключения с разных IP?

Лучше, конечно, вторую сетевуху поставить и кросс-кабелем одну к другой подключить.
Хотя, во какая хрень есть. Тынц. Их, наверное, много можно с разными адресами насоздавать. Не 35 тыс. Конечно. Рука устанет добавлять, потом удалять.
Или скомбинировать два способа.
Re: нагрузочное тестирование с разных IP
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 12.03.20 10:11
Оценка: 2 (1)
Здравствуйте, vvv848165@ya.ru, Вы писали:

VYR>1) Будет ли большая разница если проверять не с разных IP а всё на одном компе через 127.0.0.1 (или на другом одном из локальной сети)

Да.
VYR>2) Почему?
Лупбэк не идёт через стэк напрямую.
VYR>3) Можно ли на халяву эмитировать подключения с разных IP?
На халяву нет, за прайс есть сервисы которые дают возможность провести нагрузочное тестирование.
Sic luceat lux!
Re[2]: нагрузочное тестирование с разных IP
От: Pzz Россия https://github.com/alexpevzner
Дата: 12.03.20 10:46
Оценка: 3 (1)
Здравствуйте, Maniacal, Вы писали:

M>Лучше, конечно, вторую сетевуху поставить и кросс-кабелем одну к другой подключить.


Система, она не дура, сама с собой через кросс-кабель разговаривать. Она быстро смекнет, что оба адреса — ее родные, локальные. И завернет все через loopback.
Re[3]: нагрузочное тестирование с разных IP
От: Mr.Delphist  
Дата: 12.03.20 12:28
Оценка: 4 (1)
Здравствуйте, Pzz, Вы писали:

Pzz>Система, она не дура, сама с собой через кросс-кабель разговаривать. Она быстро смекнет, что оба адреса — ее родные, локальные. И завернет все через loopback.


Не-а. Трафик даже между сетевыми картами одного и того же хоста идёт через полный TCP-IP стек операционки, поэтому становится виден в WireShark (в отличие от loopback, с которым надо поприседать со всякими mirror-драйверами для NDIS).

Тут может вмешаться другая фишка — "strong/weak host model", когда система сама решает, что хотя пакет и просят посылать с интерфейса A, но с точки зрения самой ОС этот пакет эффективней/безопасней посылать с интерфейса B. Тогда да, всё может выродиться в loopback. Но в большинстве случаев достаточно явно прибиндиться к адресу конкретной сетевухи, чтобы сокет гарантированно отправил пакет именно через неё, особенно если другая сетевуха с адресом в той же подсети.
Re[2]: нагрузочное тестирование с разных IP
От: Ops Россия  
Дата: 13.03.20 11:01
Оценка: +1
Здравствуйте, Maniacal, Вы писали:

M>Лучше, конечно, вторую сетевуху поставить и кросс-кабелем одну к другой подключить.


А разве кроссы еще где-то нужны? Вроде даже самые примитивные сетевухи давно распознают такое подключение и переворачивают автоматически.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.