Эффективно обрабатывать 10 000 HTTP-запросов на Python: AsyncIO, многопоточность или что-то еще? [закрыто]Python

Программы на Python
Anonymous
Эффективно обрабатывать 10 000 HTTP-запросов на Python: AsyncIO, многопоточность или что-то еще? [закрыто]

Сообщение Anonymous »

Я работаю над сценарием Python, которому необходимо обновить 10 000 записей, отправляя отдельные HTTP-запросы к серверному API. Каждую запись необходимо обновлять отдельно, и, к сожалению, у меня нет возможности группировать эти запросы на серверной стороне.
Что я пробовал:
  • Код: Выделить всё

    requests
    + потоковая обработка: использовала потоковую обработку Python для параллельной отправки запросов, но возникли проблемы с загрузкой ЦП и памятью.
  • AsyncIO с aiohttp: пробовала использование asyncio с aiohttp для управления асинхронными запросами. Хотя производительность улучшилась, я столкнулся с проблемами регулирования, ограничения скорости и обработки ошибок среди 10 000 запросов.
Вопросы:

Вопросы:
  • Какая библиотека или подход Python лучше всего подойдет для эффективной обработки тысяч HTTP-запросов с минимальными накладными расходами?
  • Это asyncio + aiohttp в правильном направлении, или в этом случае лучше подойдет многопроцессорный подход или какая-либо другая комбинация?
  • Как я могу обрабатывать повторные неудачные запросы, не перегружая сервер или клиентские ресурсы?
  • Существуют ли какие-либо рекомендации по управлению таким большим количеством одновременных HTTP-запросов в Python без снижения производительности?
Дополнительная информация:
  • Backend API имеет ограничение скорости, поэтому мне нужно убедиться, что мой клиент соблюдает это, при этом обрабатывая обновления так же быстро, как и возможно.
  • Я также рассматривал возможность использования таких библиотек, как httpx или grequests, но был бы признателен за совет, в каком направлении двигаться.
Любая информация или рекомендации по масштабированию таких крупных операций HTTP будут полезны!

Подробнее здесь: https://stackoverflow.com/questions/789 ... ng-or-some

Вернуться в «Python»