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 を与えるか取るかします。頂点オプションを試してみましたが、何も効果がないようですsetWorkerPoolSize
。setEventLoopPoolSize
また、垂直方向のスケーリングを試みたところ、--instances 10
10 個の垂直方向が展開されることが確認されました。奇妙なことに、同じ 16,400 が死ぬところです。
ログにはエラーや警告は表示されず、負荷がかかると停止するようです。数秒後にブラウザーでヒットすると、再び楽しく応答します。誰かがこれに出くわしましたか?なぜこれが起こるのか、どうすれば修正できるのか、興味があります。