Что я пробовал:
- + потоковая обработка: использовала потоковую обработку Python для параллельной отправки запросов, но возникли проблемы с загрузкой ЦП и памятью.
Код: Выделить всё
requests - AsyncIO с aiohttp: пробовала использование asyncio с aiohttp для управления асинхронными запросами. Хотя производительность улучшилась, я столкнулся с проблемами регулирования, ограничения скорости и обработки ошибок среди 10 000 запросов.
Вопросы:
- Какая библиотека или подход Python лучше всего подойдет для эффективной обработки тысяч HTTP-запросов с минимальными накладными расходами?
- Это asyncio + aiohttp в правильном направлении, или в этом случае лучше подойдет многопроцессорный подход или какая-либо другая комбинация?
- Как я могу обрабатывать повторные неудачные запросы, не перегружая сервер или клиентские ресурсы?
- Существуют ли какие-либо рекомендации по управлению таким большим количеством одновременных HTTP-запросов в Python без снижения производительности?
- Backend API имеет ограничение скорости, поэтому мне нужно убедиться, что мой клиент соблюдает это, при этом обрабатывая обновления так же быстро, как и возможно.
- Я также рассматривал возможность использования таких библиотек, как httpx или grequests, но был бы признателен за совет, в каком направлении двигаться.
Подробнее здесь: https://stackoverflow.com/questions/789 ... ng-or-some