ВведениеHttpWebRequests замедление или время из
Я делаю приложение, которое сканирует файлы/сайты для прокси-IP/портов. Реализация носит чисто асинхронный характер, чтобы заставить его течь со скоростью, которую я хочу. Вся цель приложения - найти прокси-серверы, которые «живы».
Чтобы проверить, жив ли прокси, я делаю HttpWebRequest
на конкретный веб-сайт, и в случае успеха он жив, если не мертв.
Проблема
Пример:
Первый запуск:
- Сканирование текстового файла с 30k прокси.
- Делает
HttpWebRequest
с каждым прокси-сервером, чтобы проверить, жив ли он. - Находит 30 прокси, которые живы.
Второй запуск:
- Сканирований тот же текстовый файл с 30k прокси.
- Делает
HttpWebRequest
с каждым прокси-сервером, чтобы проверить, жив ли он. - Находит 0 прокси, которые являются живыми.
Если я подожду около 10 минут, то второй прогон произведет ~ 30 прокси, которые тоже живы. Иначе он просто набросится на них и отметит их как мертвых.
Как вы, наверное, уже выяснили, мой вопрос в том, почему второй запуск не дает того же или близкого к результату первого запуска.
Я изменил следующее:
ServicePointManager.DefaultConnectionLimit = int.MaxValue
и ServicePointManager.MaxServicePoints = int.MaxValue
Это основное ограничение моей сети, или что-то еще играет в?
Каковы результаты, если вы используете запрос 3/4/5/...? Устраняет ли проблема ухудшение в случае исключения вручную/порта? – Gusdor