1

我正在使用运行 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 选项setWorkerPoolSizesetEventLoopPoolSize但似乎没有任何效果。

我还尝试通过缩放 Verticle--instances 10并确认它确实部署了 10 个 Verticle。奇怪的是,同样的 16,400 是它死亡的地方。

日志显示没有错误或警告,它似乎只是在负载下死了。如果几秒钟后我用浏览器点击它,它会再次愉快地响应。有没有人遇到过这个?我很好奇为什么会发生这种情况,以及如何解决它。

4

1 回答 1

0

原来vertx很好..ab有某种错误。用 jmeter 测试并看到了我所期望的。

于 2020-03-02T04:17:03.413 回答