C/C++教程

aiohttp 异步http请求-8.TCPConnector限制连接池的大小

本文主要是介绍aiohttp 异步http请求-8.TCPConnector限制连接池的大小,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

使用TCPConnector里面的limit参数限制连接池的大小

TCPConnector

当没有设置limit参数的时候,默认值是100 (limit=100),以下是TCPConnector部分源码

class TCPConnector(BaseConnector):
    """TCP connector.
    limit - The total number of simultaneous connections.
    limit_per_host - Number of simultaneous connections to one host.

    """

    def __init__(
        self,
        ......
        limit: int = 100,

如果要限制同时打开的连接数量,可以修改limit的值,如下是设置30个连接数:

    conn = aiohttp.TCPConnector(limit=30, verify_ssl=False)
    async with aiohttp.ClientSession(connector=conn) as session:

如果您明确不希望有限制,请传递0。例如:

    conn = aiohttp.TCPConnector(limit=0)

要限制同时打开的连接到同一节点的数量,您可以将limit_per_host 参数传递给连接器:(host, port, is_ssl)

    conn = aiohttp.TCPConnector(limit_per_host=30)

该示例将并行连接的数量限制为30。

默认值为0(对每个主机基础没有限制)。

这篇关于aiohttp 异步http请求-8.TCPConnector限制连接池的大小的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!