如何加速Python后端发出大量HTTP请求



我正在尝试学习一些网络/后端的东西。 我现在想构建一个 API,它发出 HTTP 请求,进行一些处理,发回响应。不是很有用,但它是用来学习的。

我注意到 get 请求是一个巨大的瓶颈。我认为这是一个I/O问题,因为响应很小。 现在我想我也许可以在多个线程上进行下载。如果我的虚构客户端发出请求,则需要将 URL 添加到池中,然后(由某个工作线程(获取并返回到工作线程,处理并发回。或者类似的东西...

我真的不是专家,也许我刚才说的没有任何意义......但我真的很感激一点帮助:(

存在多种解决方案。 您可以使用线程(线程池(或多处理(多处理池(并行执行多个请求。

或者你可以使用像asyncio(或twisted(这样的库在一个线程中以某种方式执行多个请求,等待IO不再是阻塞点。

我建议你看看:

螺纹 https://docs.python.org/3/library/threading.html 或用于多处理的 https://docs.python.org/3/library/multiprocessing.html?highlight=multiprocessing#module-multiprocessing。

在我看来,异步编程要困难得多,但如果好奇的话,看看 https://docs.python.org/3/library/asyncio.html?highlight=asyncio#module-asyncio 用于 asyncio 基础知识,https://docs.aiohttp.org/en/stable/用于与 asyncio "并行"执行多个 http 请求

之后玩了一点,你可能会有很多毛孔精确的问题。

只需发布您的代码,解释问题,您将获得更多帮助

相关内容

  • 没有找到相关文章

最新更新