Nguyễn Anh Quế
Nguyễn Anh Quế

Reputation: 243

Vertx delay when call many request to api

this is mycode. It seem only execute 1 request

public class RestFulService extends AbstractVerticle  {

    @Override
    public void start() throws Exception {

        Router router = Router.router(vertx);


        router.get("/test/hello/:input").handler(new Handler<RoutingContext>() {
            @Override
            public void handle(RoutingContext routingContext) {

                WorkerExecutor executor = vertx.createSharedWorkerExecutor("my-worker-pool",10,120000);
                executor.executeBlocking(future -> {


                    try {
                        Thread.sleep(5000);
                        future.complete();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }


                },false, res -> {
                    System.out.println("The result is: " + res.result());
                    routingContext.response().end("routing1"+res.result());
                    executor.close();
                });



            }
        });


}

When i call 10 request from browser in same time, it take 50000ms to done all request. Please guide me fix it.

Upvotes: 1

Views: 863

Answers (1)

tsegismont
tsegismont

Reputation: 9128

Try with curl, I suspect your browser is using the same connection for all requests (thus waiting for a response before sending the next request).

By the way, you don't need to call createSharedWorkerExecutor on each request. You can do it once when the verticle is started.

Upvotes: 1

Related Questions