Тайм-ауты Vert.X HttpServer под нагрузкой - PullRequest
1 голос
/ 02 марта 2020

Я использую базовый c vert.x пример verticle, работающий на HTTP-сервере;

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. Я пробовал играть с setWorkerPoolSize и setEventLoopPoolSize в опциях vertx, но ничего не кажется чтобы получить эффект.

Я также попытался масштабировать вертикал с помощью --instances 10 и подтвердил, что она развернула 10 вершин. Как ни странно, тот же самый 16 400 находится там, где он умирает.

В журналах нет ошибок или предупреждений, просто кажется, что d ie под нагрузкой. Если через несколько секунд я нажму на него браузером, он снова откликнется счастливо. Кто-нибудь сталкивался с этим? Мне любопытно, почему это происходит, и как я могу это исправить.

1 Ответ

0 голосов
/ 02 марта 2020

Оказывается, с vertx все в порядке .. ab имеет какую-то ошибку. Протестировано с Jmeter и увидел именно то, что я ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...