最大化并行请求数(aiohttp)

最大化并行请求数(aiohttp),第1张

最大化并行请求数(aiohttp)

默认情况下

aiohttp
,同时连接数限制为
100
。它实现了默认设置
limit
TCPConnector

对象所使用
ClientSession
。您可以通过创建自定义连接器并将其传递到会话来绕过它:

connector = aiohttp.TCPConnector(limit=None)async with aiohttp.ClientSession(connector=connector) as session:    # ...

但是请注意,您可能不想将此数字设置得太高:您的网络容量,CPU,RAM和目标服务器有其自身的限制,并尝试进行大量连接会导致故障增加。

最佳数量可能只能通过在混凝土机器上进行实验才能找到。


无关:

您不必无缘无故地创建任务。大多数异步api接受常规协程。例如,您的最后几行代码可以通过以下方式更改:

loop = asyncio.get_event_loop()loop.run_until_complete(run(url_list))

甚至是

asyncio.run(run(url_list))
(doc)如果您使用的是Python 3.7



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5664333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存