gpt4 book ai didi

spring-boot - 无法使用 Apache Bench 测试 Spring Boot Webflux 性能

转载 作者:行者123 更新时间:2023-12-04 03:07:54 26 4
gpt4 key购买 nike

我在使用 Apache Bench 测试 spring reactive 项目的性能时遇到了一个问题。

ab http://localhost:8080/hi

结果显示超时。

但是curl http://localhost:8080/hi就可以了

我的项目使用的Spring boot版本是2.0.0.M6。我将粘贴一些代码。

pom.xml 是

    <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-reactor-netty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

MyRouter.java

@Component
public class MyRouter {
private static final Logger logger = LoggerFactory.getLogger(MyRouter.class);
@Bean
RouterFunction<ServerResponse> router(PersonHandler personHandler) {
return route(GET("/hi"), request -> ok().body(BodyInserters.fromObject("hello")));
}
}

最佳答案

是ab在调用netty server时出现的bug。

要解决此问题,只需将“Connection: closed”添加到响应 header 中。但这不是最终的解决方案。

MyRouter.java

@Component
public class MyRouter {
private static final Logger logger = LoggerFactory.getLogger(MyRouter.class);
@Bean
RouterFunction<ServerResponse> router(PersonHandler personHandler) {
return route(GET("/hi"), request -> ok().header("Connection", "close").body(BodyInserters.fromObject("hello")));
}
}

关于spring-boot - 无法使用 Apache Bench 测试 Spring Boot Webflux 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com