Hi all,
I'm running some benchmark tests to try out the performance with settings
with various number of shards. (I didnt take the indexing time into
account).
for now I'm just running elasticsearch locally on one machine (localhost),
build index and ran apache bench against it
The size of the index is about 100MB.
The query is as simple as searching text against some fields:
htttp://localhost:9200/media_sources/_search?_routing=1001560&pretty=1&q=account_id:1001560%20and%field1:vampire%20OR%20name:vampire%20
surprisingly, it appeared that the best case for me is to run with 1 shard.
and more shards will only degrade the search time. Is this because my test
is flawed as only running on one machine?
another question about field routing. It appeared that with the same load
setting from apache bench (1 node, 20 concurrent threads of 400 requests),
elasticsearch tends to respond with a lot more failed requests (~175/400),
while without routing the number of failed requests is only about ~12/400.
I was expecting it to be more efficient as it only reads 1 shard at each
request. looks like it made a lot works on 1 node. was _routing designed to
reduce the communications between nodes by limit to 1 shard at a time?
what's the explanation in this case?
Thank you.
Yuhan
--