Нужно тестировать движок игры на нагрузку. Клиенты взаимодействуют только по WebSocket.
Подключаются, отправляют одно сообщение, другое сообщение.
Сейчас используем высокоуровневые Artillery.io и самописные тесты нв NodeJS для проверки разных сценариев.
Можно ли не полноценным WebSocket-клиентом, а как-то совсем «легко» тестировать на нагрузку, когда волнуют только исходящие данные?
Может, запомнить исходящие сетевые пакеты — они ведь одинаковые для каждого потока? Открыть десятки тысяч соединений, и отправлять готовый пакет по каждому. Каким инструментом это можно делать?
Например, сценарий: нужно открыть
wss://myserver.com:443/ws
и отправить туда сообщение
{"type": "handshake"}
, а через 10 секунд отправить ещё одно
{"type":"action", "value":"move"}
И меня интересует, как сервер потянет это при 5 тыс., 10, 50, 250, 500 тыс. одновременных соединений, открытых в течение 10 секунд.
Тут
пример как Wireshark перехватывает соединение WebSocket. Выходит, нужно обязательно дожидаться хотя бы одного ответа от сервера во время установления соединения.