为了账号安全,请及时绑定邮箱和手机立即绑定

了解 aiohttp.TCPConnector 池和连接限制

了解 aiohttp.TCPConnector 池和连接限制

胡子哥哥 2021-09-28 13:48:11
我正在试验limit和limit_per_host参数aiohttp.connector.TCPConnector。在下面的脚本中,我传递connector = aiohttp.connector.TCPConnector(limit=25, limit_per_host=5)到aiohttp.ClientSession,然后向 docs.aiohttp.org 打开 2 个请求,向 github.com 打开 3 个请求。的结果session.request是 的一个实例aiohttp.ClientResponse,在这个例子中,我故意不调用.close()它,无论是通过.close()还是__aexit__。我认为这会使连接池保持打开状态,并将与该(主机、ssl、端口)的可用连接减少三倍 -1。下表代表了._available_connections()每个请求之后。 为什么即使在完成对 docs.aiohttp.org 的第二个请求后,该数字仍为 4? 这两个连接可能仍处于打开状态,尚未访问._content或已关闭。可用连接数不应该减少 1 吗?After Request Num.        To                    _available_connections1                         docs.aiohttp.org      42                         docs.aiohttp.org      4   <--- Why?3                         github.com            44                         github.com            35                         github.com            2此外,为什么._acquired_per_host只包含 1 个键? 我想我可能正在了解TCPConnector; 什么解释了上述行为?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 373 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信