Я бы с удовольствием сделал использование одного соединения всеми потоками,если бы понимал каким образом. Пока все, что выходит приводит просто к ограничению скорости открытия новых соединений, либо просто к ожиданию открытого соединения, теряя весь смысл параллельного парсинга по причине того,что из-за ожидания количество спарсенной информации за единицу времени уже становится меньше однопоточного решения, которое ввиду своей высокой продолжительности попросту не достигает лимита,поскольку другие соединения уже успевают исчерпать таймаут
Василий Банников, Я знаю, что TIME_WAIT - это TCP и изменение этого параметра даст по голове мне самому, но костыль есть костыль, чтобы работоспособность проверять. Это все равно не прод
Василий Банников, дак вопрос то не в этом. Я это прекрасно понимаю. Вопрос в том - что делать, чтобы я мог либо через одно соеднинение парсить, либо время жизни этих соединений снизить до минимальных значений. Нагрузка то высокая, нужно каждый экземпляр отдельно взять, а из-за лимита ошибки возникают
Василий Банников, да, не заметил. Скопировал ваш код, у меня он тоже работает с одним подключением. Однако, как я и предполагал, это одно подключение все равно, что выполнять задачу в один поток. При увеличении числа задач и сравнения с выводом без асинхронности, результаты получаются идентичными. Увеличивания количество соединений, растет и скорость обработки. Соответственно, как я и предполагал, на каждый запрос в моей программе создается отдельное соединение и оно остается активным сколько то времени. В вашем случае тоже самое. Увеличив количество тасков до 12000 и количество соеднений до этой же цифры и запустив программу несколько раз, я получил ровно ту же самую ошибку. Теперь остается понять как использовать тоже самое соединений на каждой таске, чтобы решить проблему
Василий Банников, запустил. За раз теперь просто меньше парсится, но все равно создает кучу соединений. Я предполагаю, что это именно из-за того, что я делаю это асинхронно. У вас же выполнение идет в одном потоке
Василий Банников, Потому что на каждый вызов httpclient открывается соединение, как я понимаю. Итог таков,что количество открытых соеднений как я понимаю не поменяется
Василий Банников, по поводу ваших советов с http2 - добавил, количество максимальных соеднений смысла ставить не имеет, но я поставил. Как я понимаю, проблема в самом классе и его методе, он в любом случае создает подключение это, скорее всего,как мне кажется и поэтому у меня просто лимит исчерпывается, но тогда что использовать...
Василий Банников, по поводу количества запусков. Посмотрите на второй блок кода, а именно DataGetter, в нем вы увидите, что он вызывает метод GetData в цикле столько раз, сколько элементов находится айдишниках. Запрос по адресу отправляется на каждый элемент асинхронно. А далее посмотрите на скриншот из консоли,который я оставил. Это все подключения, которые появились после отработки кода и они будут так висеть 240 секунд. Собственно, вот эта самая проблема, что у меня есть такие ограничения и я прошу помощи - что конкретно надо использовать,чтобы я сам себе не строил стены
Василий Банников, "При первом запуске", думаю стоит пояснить. При первом запуске собранного проекта имелось ввиду. Т.е. один раз запустил программу, она отработала без вопросов. Второй раз запустил - получи эксепшены
Дело все в том,что эти ограничения стоят на уровне предприятия, на котором я прохржу практику для университета. Что должна быть реализация на шарпе. Сам бы я с удовольствием использовал Python и известные инструменты и, вероятно, получил бы ответ давно, но проблема была описана выше. Я находил исследования множества сетей.
ResNet(различные цифры)
DarkNet(ChexNet)
CNN
RCNN
И прочие, однако конкретного описания моделей не нашел
Константин Б., дак вот я и ищу эти модели, пытаюсь понять как работает, чтобы построить что-то. Для изображения грудной клетки посчитал интересным использовать ChexNet. Пытаюсь найти описание как она работает и построить это в своей системе, датасет найти не проблема
В том и проблема, что я не ищу реализацию. Я хочу написать самостоятельно. Однако, у меня нет понимания как распознать, что этот участок - патология, а этот нет. Т.е. сам механизм выделения участка интереса мне не ясен. И ответ на этот вопрос я ищу
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.