I have two JMeter tests. Let's call them "Straight Elasticsearch Test" and "Service Test". Both tests use the same settings in terms of number of threads (users), number of times the URL is invoked (loops), and randomized CSV-based data set.
The difference between the two tests is that the Straight Elasticsearch Test just makes HTTP requests against my cluster whereas the Service Test makes HTTP requests against my Java service layer. Both tests invoke the same Elasticsearch query. I've verified this by comparing what the Straight Elasticsearch Test posts to what the Java service creates using the SearchRequestBuilder. Here is the query and the search invocation via the Java API: https://gist.github.com/jpotts/feaf0cedc2eea29a8aa7 I'm running both tests with 10 concurrent users and 2000 iterations for a total of 20,000 hits against either Elasticsearch directly or the Java service depending on the test. Here's the puzzling thing: The Straight Elasticsearch Test causes the CPU on my single-node cluster to go to around 50% for the duration of the test. But the Service Test causes it to go to twice that. So the same number of concurrent users, the same number of total hits, and the same query are causing drastically different CPU utilization rates. What could be causing this? I've tested with the Java service using the Transport Client as well as the Node Client, the results are the same. I'm thinking it must be something different in how the server handles HTTP request versus Node/Transport Client requests. This is Elasticsearch 1.3.4 and the index is a single shard with no replicas and about 100k docs. Jeff -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/63fd9d8e-ec67-4c6c-817f-4201d5f18ea9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.