-
Notifications
You must be signed in to change notification settings - Fork 671
Description
For better understanding, I put our test programs both in vert.x and webflux here: https://github.com/uken/webflux-vertx-benchmark.
I am doing some load test comparison on webflux(spring boot2) vs vert.x.
The test case is a very simple text/json echo service. So far from the test result, webflux's throughput is much lower than vert.x(10x with annotation, 8x with functional). One interesting thing I found is with the same load, vert.x is only using basically one thread(eventloop) with a very low CPU usage.
But on webflux, by default it's using all of the NIO threads, but throughput is still not even comparable.
I thought both webflux and vert.x are based on netty(epoll on linux), hope someone could show me what I can tweak with in order to get the result closer.
The client I use is wrk/wrk2.
Options are:
wrk -d60s -t30 -c100 -R 500000 -s post.lua http://xxxx/text
$ more post.lua
wrk.method = "POST"
wrk.body = "{"key":"entity_1","point":1}"
wrk.headers["Content-Type"] = "application/json"