0

undertow サーバーを最適化しようとしていますが、HttpListener の I/O スレッド (WORKER_IO_THREADS および WORKER_TASK_CORE_THREADS) を設定してみました。必要な手順を教えてください。

Undertow server = Undertow.builder().addHttpListener(80, "")
                .setHandler(new HttpHandler() {
                public void handleRequest(final HttpServerExchange exchange)
                        throws Exception {
                    String string_exchange = exchange.getQueryString();
                    str = <some work on string_exchange>
                    exchange.getResponseSender().send(str);
                }
            }).build();
server.start();

リスナーに関連付けられた XNIO ワーカーを構成する必要があることを読みました。しかし、私はこれについてどうすればよいかはっきりしていません。

4

1 に答える 1

0

ドキュメントに記載されているように、手動で Undertow をブートストラップする長い道のりを歩む必要があると思います。その理由は、すべてのハンドラーが 1 つの XnioWorker からの NIO プールを共有するためです。

XnioWorker worker = xnio.createWorker(OptionMap.builder()
    .set(Options.WORKER_IO_THREADS, ioThreads)
    .set(Options.WORKER_TASK_CORE_THREADS, workerThreads)
    .set(Options.WORKER_TASK_MAX_THREADS, workerThreads)
    .set(Options.TCP_NODELAY, true)
    .getMap());
于 2014-11-26T11:24:16.437 に答える