当前位置: 首页 > 面试题库 >

request.adapters.HTTPAdapter中的pool_connections是什么意思?

姚臻
2023-03-14
问题内容

初始化请求时SessionHTTPAdapter将创建两个并将其安装到httphttps

这是如何HTTPAdapter定义的:

class requests.adapters.HTTPAdapter(pool_connections=10, pool_maxsize=10,
                                    max_retries=0, pool_block=False)

虽然我理解了pool_maxsize(池可以保存的会话数)的含义,但我不pool_connections知道它的含义或作用。Doc说:

Parameters: 
pool_connections – The number of urllib3 connection pools to cache.

但是“缓存”是什么意思?使用多个连接池有什么意义呢?


问题答案:

请求使用urllib3来管理其连接和其他功能。

重用连接是保持HTTP请求重复执行的重要因素。urllib3自述文件说明:

为什么要重用连接?

性能。通常,当您进行urllib调用时,将为每个请求创建一个单独的套接字连接。通过重用现有的套接字(自HTTP
1.1开始受支持),请求将在服务器端占用更少的资源,并在客户端提供更快的响应时间。[…]

为了回答您的问题,“ pool_maxsize”是每个主机保留的连接数(这对于多线程应用程序很有用),而“
pool_connections”是保留的主机池数。例如,如果您要连接到100个不同的主机,并且pool_connections=10,那么将仅重用最近的10个主机的连接。



 类似资料:
  • 问题内容: 我试图在Python 3.3中使用旧的库(可追溯至2003年!)。当我导入它时,Python抛出错误,因为源文件中有符号,例如: 我猜这是该语言现在被放弃的标志。 它到底是什么意思,我应该用哪个(较新的)符号代替? 问题答案: 这意味着不等于。它取自(python的前身)此处: 订单测试(表示 “不等于” ) 我相信它是从Pascal那里获得的,Pascal是Guido开始使用的语言。

  • 问题内容: 我发现此代码可在此处找到SO中的重复项。但我不明白这条线是什么意思 问题答案: 该运算符是Java中无符号的右移位运算符。它有效地将操作数除以右操作数的幂,或者仅在此处。 和之间的差异仅在移动负数时才会显示。如果运算符是a ,则运算符会将其移位到最高有效位,而无论如何都将移位。 更新: 让我们求平均值和()。我们可以轻松地进行数学运算: 现在,通过代码,涉及到以下这些位: 让我们将“转

  • 问题内容: 我已经看到了声明,接口和类 这是什么意思? 问题答案: 没有证据,我相信您在谈论Java的泛型支持… 泛型允许您抽象类型 在Java 5之前,很难提供能够支持多种不同类型的Objects的类而不必为每种特定情况编写代码,因此人们通常会这样做。 这导致在运行时做出许多困难的选择,您必须进行运行时检查以查看是否有可能将给定的Object强制转换为可用类型…例如 现在,这已经很明显了,但是如

  • 我想知道=_运算符在JavaScript中的含义。看起来像是在做作业。 示例:

  • 问题内容: 重入意味着锁定是在每个线程而不是每个调用的基础上获得的。 由于内在锁由线程持有,这是否意味着线程运行一次等于调用基础? 谢谢,这似乎意味着:在线程中,如果我在调用function的流程函数时获得了锁,并且还需要一个锁,那么将会有一个可重入的过程。在Java中,这种现象是按线程获取的,因此我不需要考虑死锁吗? 问题答案: 重入意味着锁定是在每个线程而不是每个调用的基础上获得的。 这是一个

  • 问题内容: HTML5中的polyfill是什么意思?我在许多有关HTML5的网站中都看到了这个词,例如HTML5-Cross-Browser-Polyfills。 因此,这里我们收集了所有的填充,后备和填充,以便将HTML5功能植入到本机不支持它们的浏览器中。 我实际上不了解polyfill的含义。 它是HTML5的新技术还是JavaScript库?在HTML5之前我从未听说过这个词。 垫片,后