I have a java application (based on dropwizard) that accepts HTTP requests, performs some in memory computations and returns HTTP responses.
I have another java application (jmeter) which load tests the first one by sending requests with random parameters.
When I run the test (both the test and applications on the same laptop) I get bad performance: throughput is low (25 requests per second (rps)), latency is high (150ms). What interesting is that CPU usage of the application is low too (10%). It seems that the application spends much time waiting for network calls.
But when some other network activity (not all, playing YouTube video doesn't help) is going on, for instance when I do a Skype call or open local auto-refreshing grafana dashboard the situation changes. CPU usage by the application increases to 50%, throughput increases to 70-90 rps, latency decreases to 50ms.
It seems that irrelevant network activity somehow speed-ups network calls between the application and test. Can anybody explain that behavior?
Win 10, Java 8.