如何解决减少 webclient 调用的初始延迟
我目前正在使用 spring-webflux 包的 Webclient 进行同步 REST 调用。
但是第一次请求所用的时间比RestTemplate所用的时间要长。
我观察到连续调用花费的时间要少得多,并且与 RestTemplate 的调用时间大致相同。
有没有办法减少 Webclient 的初始延迟?
解决方法
默认情况下,HttpClient
资源的初始化是按需进行的。这意味着第一个请求吸收了初始化和加载所需的额外时间:
- 事件循环组
- 主机名解析器
- 本机传输库(使用本机传输时)
- 用于安全性的本机库(在 OpenSsl 的情况下)
您可以预加载这些资源 - 检查此 documentation
无法预加载的内容有:
- 主机名解析发生在第一个请求
- 如果使用了连接池(默认) - 第一个请求会建立到 URL 的连接,对同一 URL 的后续请求会重复使用连接池中的连接,因此速度更快。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。