0

I have 2 clusters of ElasticSearch:

  • old 3 nodes(master+data)
    • ElasticSearch: 5.1.2
    • java : openjdk version "1.8.0_111"
    • -Xms12g -Xmx12g
  • new 6 nodes(3 master + 3 data) with much better hardware (cpu/ram/hdd)
    • ElasticSearch: 6.4
    • java : openjdk version "1.8.0_181"
    • -Xms32766m -Xmx32766m

In both clusters I have an small index (about 12M docs) with same properties and information in both clusters. And there is a search request which is using scripted_metric aggregation with painless scripts (init/map/combine/reduce). And my problem is that in old cluster this search request works much faster than in new one.

I profiled request on both clusters and saw that most of time request spent in collect phase of script_metric aggreagtion, which I suppose means that map script executed longer. But I can't understand what is the reason of this slow execution same request on the same dataset. May be there are some properties shoud be set for Elastic 6.4 to enable some performance boost which was default before?

user3283133
  • 11
  • 1
  • 3
  • I see you have set your memory around 32Gb on the new cluster. Are you sure you are not crossing the 32G RAM limit recommendations? See here https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html#compressed_oops and https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html#_just_how_far_under_32gb_should_i_set_the_jvm – Pierre Mallet Oct 02 '18 at 10:59
  • No, I'm sure that this is not reason. I've found yesterday that there is an issue with script_metric aggregation. [here](https://github.com/elastic/elasticsearch/issues/33593) – user3283133 Oct 03 '18 at 08:24

0 Answers0