Я делаю полный обход сайта с API, и я получаю много:ServerErrorException при сканировании сайта
{ «ERRORTYPE»: «ServerErrorException», «ошибка»: «ServerErrorException: Сервер . ошибка (HTTP 500)» }
Кроме того, я получаю ответы тайм-аута и фактическое HTTP не удается: StatusCode: 504, ReasonPhrase: 'GATEWAY_TIMEOUT'
Я просматривают сайт я ползком в то же время, и это кажется быстрым и отзывчивым до сих пор, не медленно спады.
Я удалил многопоточность из своего кода и выполнял синхронно, что останавливает 500 ошибок, но все равно дает много тайм-аутов (и занимает много времени).
У меня работает менее 100 одновременных соединений с моей многопотоковой обработкой. Это слишком много? Я хотел бы нажать его до 1000+. Нужно ли добавлять задержку между запросами?
Я уменьшил его до одного запроса за раз с секундой между запросами, и у него все еще есть тайм-ауты, поэтому я не думаю, что это так. Я помещаю запросы в цикл, поэтому таймауты снова повторяются. Импорт IO довольно чертовски быстрый, мне нравится сервис. Я получаю 200 страниц соскабливанием примерно через 12 секунд, но это будет намного лучше, если я улучшу свой код очереди, и у меня есть сотни тысяч запросов для оптимизации. Кажется, некоторые запросы просто случайным образом исчерпаны. – Guerrilla
Я бы посоветовал вам поймать те, которые терпят неудачу и переупорядочивают их. Это обычная практика для обхода веб-сайтов. При составлении сотен тысяч запросов, безусловно, хорошо иметь резервный механизм, если один запрос терпит неудачу, иначе вам придется снова запускать все ваши запросы! – Bam4d
Да, я сделал это. Иногда тайм-аут - это всего лишь несколько, но иногда 40% запросов таймаута, поэтому многие потоки привязаны. Я думаю, это зависит от того, насколько занят сервис. – Guerrilla