【发布时间】:2020-03-02 00:14:41
【问题描述】:
我正在使用运行 HTTP 服务器的基本 vert.x 示例 verticle;
package io.vertx.starter;
import io.vertx.core.AbstractVerticle;
public class MainVerticle extends AbstractVerticle {
@Override
public void start() {
vertx.createHttpServer()
.requestHandler(req -> req.response().end("Hello Vert.x!"))
.listen(8080);
}
}
这会启动并响应,所以我想通过ab -n 100000 -c 50 http://localhost:8080对其进行快速负载测试
每次运行都相对一致,大约有 16,400 个完成的请求超时,给予或接受 10 个。我尝试在 vertx 选项上使用 setWorkerPoolSize 和 setEventLoopPoolSize,但似乎没有任何效果。
我还尝试通过--instances 10 缩放垂直并确认它确实部署了 10 个垂直。奇怪的是,同样的 16,400 是它死去的地方。
日志显示没有错误或警告,它似乎只是在负载下死了。如果几秒钟后我用浏览器点击它,它会再次愉快地响应。有没有人遇到过这个?我很好奇为什么会发生这种情况,以及如何解决它。
【问题讨论】:
标签: java vert.x vertx-verticle