我正在为支持异步的Jetty和VertX.3做基准测试。下面是我的VertX示例代码。
toViewModel
Jetty示例服务器:
public class VertXSampleServer extends AbstractVerticle{
@Override
public void start(){
HttpServer server=vertx.createHttpServer();
server.requestHandler(new Handler<HttpServerRequest>() {
@Override
public void handle(HttpServerRequest request) {
HttpServerResponse response=request.response();
response.setStatusCode(HttpStatus.SC_OK);
System.out.println("re received");
response.putHeader("Content-Length", Integer.toString(5));
response.write("Hello");
}
}).listen(9091);
}
}
在测试VertX时,我获得了31个请求/分钟的吞吐量但是在测试Jetty时,我得到310 req /秒。 任何人都可以向我展示这种高性能差距的原因。另外,只是fyi,我正在使用Apache Jmeter进行基准测试。
答案 0 :(得分:1)
您的Vert.x实现存在一些问题,例如,您没有结束连接,这将导致超时以便完成。
calculateMediaWidthsAndHeights
有关如何处理http响应的完整文档是here。
它将解释分块写入(你做了什么)和结束响应之间的区别。