我有2个微服务。第一个是简单的回声服务,延迟3秒后返回。第二个首先通过spring webclient调用。当我模拟501个并发用户请求第二个微服务时,前500个用户在3秒内得到响应,最后一个用户在6秒内得到响应。意味着默认情况下,spring webclient仅支持500个并发连接。相应的值可在apache客户端中配置。但是我找不到如何在spring webclient中配置它。与WebSocket相似,它仅支持256个并发连接。如何配置呢?
使用jMeter完成测试。如果我直接测试第一个微服务-没有限制。
public TestController(WebClient.Builder webClientBuilder) {
this.webClient = webClientBuilder.baseUrl("http://localhost:8081").build();
}
@GetMapping("/test1")
public Mono<String> test1() {
return webClient
.get().uri("/test/HTTP")
.retrieve().bodyToMono(String.class);
}
在程序中设置System.Net.ServicePointManager.DefaultConnectionLimit = 512; 或者配置app.config中对最大并发连接数进行设置 :
<configuration>
<system.net>
<connectionManagement>
<add address = "http://www.google.com" maxconnection = "512" />
<add address = "*" maxconnection = "512" />
</connectionManagement>
</system.net>
</configuration>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。