Какой таймаут является оптимальным при использовании aiohttp в Python?

Как можно улучшить производительность скраппера при использовании socks5 прокси и асинхронных запросов в Python на Ubuntu?
  • 24 мая 2024 г. 1:01
Ответы на вопрос 2
1. Оптимальный таймаут при использовании aiohttp в Python зависит от конкретной задачи и сервиса, с которым вы взаимодействуете. Обычно рекомендуется устанавливать таймаут на уровне нескольких секунд, например, 10-30 секунд, чтобы избежать длительного ожидания ответа от сервера. Однако, вам нужно экспериментировать с разными значениями таймаута и выбрать оптимальное значение для вашего конкретного случая.

2. Для улучшения производительности скраппера при использовании socks5 прокси и асинхронных запросов в Python на Ubuntu, вы можете рассмотреть следующие способы:

- Использовать пулы соединений для управления подключениями к прокси и целевым серверам.
- Оптимизировать код скраппера для уменьшения нагрузки на процессор и память.
- Использовать многопоточность или многопроцессорность для параллельной обработки запросов.
- Оптимизировать код программы для использования асинхронных библиотек и фреймворков, таких как aiohttp или asyncio.
- Настроить и оптимизировать настройки сети и прокси для улучшения скорости и стабильности соединения.

Эти методы могут помочь улучшить производительность скраппера при использовании socks5 прокси и асинхронных запросов в Python на Ubuntu.
gather как я понял, это не полноценные потоки
gather вообще не создаёт потоки, он оборачивает корутины в задачи и дожидается их выполнения. Async это кооперативная многозадачность - запросы к сайтам происходят не дожидаясь ответа, но выполняется это все в одном потоке.

Вероятнее всего в функции parse, код которой не и приложен, есть вызовы или cpu bound операции, которые блокируют цикл событий.
Похожие вопросы