Несколько больших запросов с использованием aiohttpPython

Программы на Python
Anonymous
Несколько больших запросов с использованием aiohttp

Сообщение Anonymous »


Мне нужно отправить большое количество (около 50) HTTP-запросов POST, каждый размером около 5 МБ. Я использую функцию asyncio.gather для ожидания ответов на эти запросы. Однако процесс сериализации JSON занимает примерно 30–40 миллисекунд и блокирует EventLoop.

Это приводит к одновременной отправке всех запросов на сервер. Например, если имеется 50 запросов и первый запрос доступен в момент времени T, он отправляется только через (T + (50 * 30) = T + 1500 мс). Кроме того, при Т+1500 мс на сервер отправляются все 50 запросов. Я хочу, чтобы Aiohttp отправлял запросы, как только они станут доступны.

Могу ли я для этого обойти этап сериализации JSON?

Кроме того, в этой строке aiohttp ожидает цикла событий. Наши API чувствительны к задержкам. Есть ли способ ускорить это? или какие-то другие альтернативы?

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