减少 webclient 调用的初始滞后
Decrease initial lag in webclient call
我目前正在使用 spring-webflux 包的 Webclient 进行同步 REST 调用。
但是第一次请求的时间比RestTemplate要长
我观察到连续调用花费的时间要少得多,并且或多或少与 RestTemplate 相同。
是否有减少 Webclient 初始延迟的解决方案?
默认情况下,HttpClient
资源的初始化按需进行。这意味着第一个请求吸收了初始化和加载所需的额外时间:
- 事件循环组
- 主机名解析器
- 本地传输库(使用本地传输时)
- 安全的本机库(在 OpenSsl 的情况下)
您可以预加载这些资源 - 检查此 documentation
无法预加载的内容有:
- 第一个请求发生主机名解析
- 如果使用连接池(默认)- 第一个请求会建立到 URL 的连接,随后对同一个 URL 的请求会重用来自 URL 的连接游泳池所以他们更快。
我目前正在使用 spring-webflux 包的 Webclient 进行同步 REST 调用。
但是第一次请求的时间比RestTemplate要长
我观察到连续调用花费的时间要少得多,并且或多或少与 RestTemplate 相同。
是否有减少 Webclient 初始延迟的解决方案?
默认情况下,HttpClient
资源的初始化按需进行。这意味着第一个请求吸收了初始化和加载所需的额外时间:
- 事件循环组
- 主机名解析器
- 本地传输库(使用本地传输时)
- 安全的本机库(在 OpenSsl 的情况下)
您可以预加载这些资源 - 检查此 documentation
无法预加载的内容有:
- 第一个请求发生主机名解析
- 如果使用连接池(默认)- 第一个请求会建立到 URL 的连接,随后对同一个 URL 的请求会重用来自 URL 的连接游泳池所以他们更快。