LINUX.ORG.RU
ФорумAdmin

Инструмент для тестирования 1 000 000 конектов

 , , ,


1

1

Если апп на сервере, который лежит на сокете и обрабатывает (udp/tcp) по разным протоколам. Хочу проверить работу. Запускал тесты на локалхосте, норм., держит соединения норм, не отваливаются, сам апп живой. Запускал тесты через свой комп, но проблема в том, что мой роутер начинает гнать и отваливается сеть(видимо из за pps).

Как проверить (benchmark) на хотя бы 1000 устройств с реальными адресами, сетями, типа бот фермы ддос? Какой сервис есть? Ну и желательно в РФ, ибо платить картой сейчас нереал

★★★★

Последнее исправление: Dimez (всего исправлений: 2)

Зачем вам тысяча устройств? Сгенерите на одном тысячу подключений, будет теже и в профиль. А вот для мульона понадобится несколько реальных адресочков, но как вариант можно использовать какой-нибудь из v6 ( he &etc).

anc ★★★★★
()

Как проверить (benchmark) на хотя бы 1000 устройств с реальными адресами

В чем проблема назначить 1000 адресов?
Нормальные сетевые бенчмарки умеют биндиться на указанный адрес.
Чтобы минимально уродовать конфиг сервера, создать отдельный netns, создать veth-интерфейс с одним концом на сервере, вторым в netns.
Назначить 1 адрес со стороны сервера и кучу адресов в netns.
Все это делается одним скриптом на 20 строк

Запускать бенчмарки в netns с явным указанием локального адреса.

vel ★★★★★
()
Ответ на: комментарий от iliyap

Эти адреса работают без добавления на интерфейс.

Только через локалхост автор уже тестировал, а теперь хочет тестировать реальные коннекты из интернета.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от vel

Ээээ 1000 адресов это же ДОРОГО! 1 ИП 5 долл. стоит где то. Была тоже идея запускать тесты со второго севрера, но меня пров забанил за это, теперь как то опасаюсь

gobot ★★★★
() автор топика
Ответ на: комментарий от iliyap

С localhost я тестировал, там норм конекты держит. Проблемы начинаются когда извне. Да и все равно с LO упираешься в лимиты проца (сетевой), трудновато ему генерировать много маленьких пакетиков, плюс это создает неудобства апп назначения

gobot ★★★★
() автор топика
Ответ на: комментарий от beastie

web applications

мне помимо этого (это даже не основное) нужно другие протоколы + udp

Ну и как я понял закупать надо серваки, развертывать... Нужен именно готовый сервис, чтобы создал 1 instance и оно развернулось на 10-20-50 хостах (насколько денег хватит), типа склонировалось. Потом бац нажал кнопку все выключилось (деньги не списывают). И чтобы регион выбирать (интересует конечно РФ пока). Не знаю, это конечно оч. похоже на ботнет, но было бы интересно если ли такое в легальных условиях. Хотя по сути можно ведь лимитировать трафик на каждой ноде, чтобы не злоупотребляли. Трафик не дикий нужен, порядка 500mbps.

Или купить рядом в стойке комп, назначить там 1000 адресов и по локалке гонять? Но опять же, такое разово требуется. просто в реальных условиях всплывают совсем не те проблемы, которые тестишь на локалхосте. Ну и РКН конечно ещё нужно учитывать в наших условиях

gobot ★★★★
() автор топика
Ответ на: комментарий от gobot

Интерфейс lo не использует никакие «ресурсы сетевой». 1 000 000 соединений на гигабитную сетевуху это всего 1 кбит/с (120 байт/с) на соединение. На интерфейсе lo можно разогнаться намного выше.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

1 000 000 соединений

на самом деле столько не нужно, главное сессии dtls протестировать... А они валятся и приложение иногда валится, непонятно почему. На локалхосте я тестил багов не ваявил

gobot ★★★★
() автор топика
Последнее исправление: gobot (всего исправлений: 1)
Ответ на: комментарий от gobot

Нужен именно готовый сервис, чтобы создал 1 instance и оно развернулось на 10-20-50 хостах (насколько денег хватит), типа склонировалось. Потом бац нажал кнопку все выключилось

Оно там именно такое. Но под AWS, да. Одна команда – развернул 100 микро-хостов которые тебя бомбят. Другая команда – оно все их удалило.

нужно другие протоколы + udp

Там питон, думаю добавить будет не сложно, если там этого ещё нет. Последний раз трогал его лет 10 назад.

На правах идеи, и что искать.

beastie ★★★★★
()
Ответ на: комментарий от gobot

Гм. На своём сервере можно поставить любые адреса.

Если есть второй хост с внешнем ip, то поднять там какой-нибудь туннель типа ipip и через него гонять эти адреса.

vel ★★★★★
()
Ответ на: комментарий от gobot

Сколько хостов укажешь, столько и разных IP будет.

В общем, что оно делает: оно запускает N виртуалок (ec2) каждая со своим внешним IP. Закидывает туда маленький скрипт, делающий M запросов, итого N×M. Собирает статистику, сколько прошло, сколько упало и сколько времени запросы заняли. И под конец вся эта ферма опять уничтожается.

Но с AWS надо конечно осторожно ;)

На пару раз может и free tier хватить.

Может выйти не бесплатно, но оно даёт более менее верные результаты, т.к. де-факто делает маленький но реальный ddos.

PS: чем оно ещё итререссно, что это можно запускать в разных регионах. Европа, Азия, Америки… Иногда важно и на латенцию посмотреть.

PPS: может быть что-то подобное и для DigitalOcean есть, не знаю.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 6)