From where are you running the tests and towards what node? Each time towards one of the nodes? Have you tried running 100 times the same query towards the same node and then switching to another node?
Also take a look to the query and the data you are retrieving. Check the size of the documents and data, as maybe the JVM is doing garbage collections and you need to adapt the HEAP size every 2 requests, not sure.
You can check the amount of GCs via _node/stats API (_node/stats/jvm?pretty I guess).
Thanks for your reply. I run all the tests use one of nodes as coordinate node that get above results. and then switch to another node didn't change at all, and also gc is stable.
About your network concern, I don't believe there's any problem with the 1.5ms reply on average, but it could be.
Anyway the topic is interesting, I would suggest to do the following tests:
Try to force the search to use local data when possible instead of finding the data in the shards of other nodes (just for investigation purposes, to see if we get always the same response time when we ask the node to return all the data from itself. In a real traffic case I wouldn't recommend to use the preferred_local option).
- https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-preference.html
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.