当前位置: 首页 > 后端技术 > Python

修改requests库session中的默认连接数

时间:2023-03-26 11:44:59 Python

requests连接复用众所周知,使用requests.Session()可以复用连接,在并发时可以大大提高效率。Session连接数在同一个Session中,requests库默认的连接池和最大连接数都是10。连接池可以理解为主机,最大连接数可以理解为数量同一主机的连接数。这样的话,并发数就会被限制为10个。所以在vscode中调试的时候,发现代码中无论写多少并发,都只有10个虚拟线程。解决方案session.mount()直接调用requests时默认使用如下配置:self.mount('https://',HTTPAdapter())self.mount('http://',HTTPAdapter())其中,HTTPAdapter()的默认参数为pool_connections=10,pool_maxsize=10,max_retries=0,pool_block=Falsepool_connections是不同主机连接的最大数量,pool_maxsize是同一主机的最大连接数量。所以可以使用如下方法修改连接数:s=requests.Session()s.mount('https://',requests.adapters.HTTPAdapter(pool_connections=20,pool_maxsize=100))s.并发数不会限制在10个。