Я сделал сценарий для сканирования файла, который содержит часть адресов ipv4 (около 50 миллионов), он пытается подключиться к веб-сайту с помощью OpenSSL, извлечь небольшой фрагмент и записать его в файл. Чтобы сохранить некоторые детали, он использует многопроцессорность для запуска около 150 рабочих процессов для одновременного подключения к разным сайтам, и каждое подключение занимает менее секунды.
Мой процессор может обрабатывать гораздо больше рабочих, поэтому скрипт никоим образом не связан с процессором. Сценарий ограничивается 1/5 моей максимальной пропускной способности дома и даже не 1/30 максимальной скорости в университетских лабораториях (у меня есть специальное разрешение на запуск этого), даже если я увеличу количество рабочих примерно до 300, 400, 500 и т. Д. Он также определенно не ограничен вводом-выводом, поскольку сохраняет его в виде списка в памяти и записывает его в конце. Я считаю, что это связано с тем, что маршрутизатор не обрабатывает так много запросов одновременно.
Может ли маршрутизатор быть перегружен запросом, даже если пропускная способность не является проблемой. Меня больше удивляет то, что университетская сеть не может обрабатывать эти запросы.
Что я могу сделать, чтобы решить эту проблему? Или любые другие идеи?
Ответ на ваш вопрос заключается в том, что это сильно зависит от роутера. Маршрутизаторы бизнес-класса обычно оцениваются не только по полосе пропускания, но и по PPS (пакетам в секунду), обычно это семизначный диапазон.
Например, шлюз безопасности Ubiquiti Pro 4 рассчитан на 2,4 миллиона пакетов в секунду.
https://dl.ubnt.com/datasheets/unifi/UniFi_Security_Gateway_DS.pdf на странице 4