Я написал протокол поверх TCP с использованием класса C # Sockets, который позволяет передавать файлы между многими клиентами, и поместил его на VPS Windows Server 2008.
Затем я написал стресс-тест на стороне клиента, который имитирует подключение нескольких клиентов к серверу и передачу файлов от одного к другому. Кажется, все работает нормально, но мне все еще нужно посмотреть, как сервер отреагирует на тысячи клиентов, пытающихся одновременно передать файлы. Будут ли проблемы с памятью, пониженная скорость передачи и т. Д.
У меня вопрос, как я могу автоматически выполнить такой тест? Ищу профессиональное решение. Как новичок в сетевом / серверном программировании, на что мне еще обратить внимание (помимо проблем с памятью) перед развертыванием такого приложения?
Большое спасибо!
Я бы рекомендовал использовать для этого python scapy. Вы можете довольно легко настроить tcp, а затем свой протокол в шестнадцатеричном формате.
Готовые решения для такого рода вещей предполагают использование хорошо известных протоколов (например, http), но для чего-то нестандартного заранее созданного материала гораздо меньше. Некоторые продукты позволяют вам встраивать плагин для пользовательского протокола, но вы должны делать это построение (приводить примеры этих продуктов не по теме).
Лучше сделать то, что вы уже делаете: создать собственный инструмент для стресс-тестирования.
Вы знаете протокол лучше, чем кто-либо, а также возможные варианты использования.