I'm performing load tests of 200-400 tps (jmeter) on an application written in vert.x 3 which uses a tcp transport client (singleton) for performing searches on elastic 1.7.0
After a couple of minutes the app becomes unresponsive, when it is not unresponsive I get latencies in the order of 10 seconds per response.
I did a thread dump on the app and see lots of blocked threads and netstat -p tells me that all the tcp connections to the elastic client nodes (no sniffing) are established, absolutely none in wait status.
I've tried setting the listener as threaded, but not luck. Any ideas? I've tried to reproduce in an integration test, with no luck. Is there a bottleneck/limitation on the tcp client, would I be better off switching to REST?