开发者社区> 问答> 正文

如何增加Spring WebClient的并发请求限制?

我有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);
}

展开
收起
几许相思几点泪 2019-12-05 14:59:39 2320 0
1 条回答
写回答
取消 提交回答
  • 在程序中设置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>
    
    2019-12-10 17:00:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多