我需要向同一服务器(我们称之为
myapi.com
)发出一系列REST调用。目前,我使用Rust库reqwest
如下:
- 我创建一个具有所有默认设置的
reqwest :: Client
。 - 对于每个REST调用:
- 我使用
client.post("https://myapi.com/path/to/the/api")
创建一个reqwest::RequestBuilder
。 - 我配置
RequestBuilder
以获得reqwest::Request
。 - 我
send()
请求,读取reqwest::Response
。 - 我删除除
Client
之外的所有内容,并重新开始。
- 我使用
reqwest
应该在同一Client
内池化连接。鉴于我始终重用相同的Client
,我期望第一个API调用需要更长时间(由于初始TCP和HTTPS握手)。然而,我观察到所有请求都具有一致的相当高的延迟。因此,我想知道是否根本没有重用连接,还是每次重新建立连接。如果没有,我该如何回收相同的连接?我觉得如果我能省略一些往返旅行,延迟会显着减少。