So you have more data and less heap on your AWS cluster, and it is still faster?
Is your on-prem cluster deployed on VMs? If so, is there any possibility that e.g. memory ballooning could be causing swap to be used behind the scenes, resulting in this performance difference? Are you sure the VM has access to all the resources you expect it to?
@Christian_Dahlqvist: Also in the background we have GC Info/Warning in the logs
[2018-04-09T02:50:04,312][WARN ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][221132] overhead, spent [660ms] collecting in the last [1s]
[2018-04-09T02:50:05,361][INFO ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][221133] overhead, spent [434ms] collecting in the last [1s]
[2018-04-09T02:54:55,445][WARN ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][221423] overhead, spent [561ms] collecting in the last [1s]
[2018-04-09T02:57:17,848][INFO ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][221565] overhead, spent [624ms] collecting in the last [1.3s]
[2018-04-09T03:00:30,906][INFO ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][221758] overhead, spent [430ms] collecting in the last [1s]
[2018-04-09T03:00:31,907][INFO ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][221759] overhead, spent [307ms] collecting in the last [1s]
[2018-04-09T03:10:28,349][WARN ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][222355] overhead, spent [711ms] collecting in the last [1.2s]
[2018-04-10T01:29:10,140][WARN ][o.e.h.n.Netty4HttpServerTransport] [8-emPGV] caught exception while handling client http traffic, closing connection [id: 0xaf1ae87c, L:/10.225.40.34:9200 - R:/10.48.130.140:33132]
java.lang.IllegalArgumentException: Failed to parse value [1] as only [true] or [false] are allowed.
at org.elasticsearch.common.Booleans.parseBoolean(Booleans.java:73) ~[elasticsearch-6.1.2.jar:6.1.2]
at org.elasticsearch.common.Booleans.parseBoolean(Booleans.java:84) ~[elasticsearch-6.1.2.jar:6.1.2]
at org.elasticsearch.rest.RestRequest.paramAsBoolean(RestRequest.java:298) ~[elasticsearch-6.1.2.jar:6.1.2]
at org.elasticsearch.rest.AbstractRestChannel.(AbstractRestChannel.java:56) ~[elasticsearch-6.1.2.jar:6.1.2]
at org.elasticsearch.http.netty4.Netty4HttpChannel.(Netty4HttpChannel.java:78) ~[transport-netty4-6.1.2.jar:6.1.2]
at org.elasticsearch.http.netty4.Netty4HttpRequestHandler.channelRead0(Netty4HttpRequestHandler.java:76) ~[transport-netty4-6.1.2.jar:6.1.2]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at org.elasticsearch.http.netty4.pipelining.HttpPipeliningHandler.channelRead(HttpPipeliningHandler.java:68) [transport-netty4-6.1.2.jar:6.1.2]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) [netty-codec-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) [netty-codec-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:544) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458) [netty-transport-4.1.13.Final.jar:4.1.13.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) [netty-common-4.1.13.Final.jar:4.1.13.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
We found couple of things when we ran this 15 aggregations: 1 Error on Kibana UI - if we check in the developer console i.e. "TypeError: Cannot read property 'key' of undefined -kibana.bundle.js?v=16363:103 Uncaught (in promise) TypeError: Cannot read property 'key' of undefined.
2 And on Elastic Search we receive following issues: - [WARN ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][222355] overhead, spent [711ms] collecting in the last [1.2s] - Sometimes it also give error:[2018-04-10T01:29:10,140][WARN ][o.e.h.n.Netty4HttpServerTransport] [8-emPGV] caught exception while handling client http traffic, closing connection [id: 0xaf1ae87c, L:/10.225.40.34:9200 - R:/10.48.130.140:33132]
java.lang.IllegalArgumentException: Failed to parse value [1] as only [true] or [false] are allowed.
[2018-04-11T13:52:08,678][ERROR][i.n.u.ResourceLeakDetector] LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak reporting to find out where the leak occurred. To enable advanced leak reporting, specify the JVM option '-Dio.netty.leakDetection.level=advanced' or call ResourceLeakDetector.setLevel() See http://netty.io/wiki/reference-counted-objects.html for more information.
[2018-04-11T13:53:22,812][WARN ][o.e.h.n.Netty4HttpServerTransport] [elasticnode] caught exception while handling client http traffic, closing connection [id: 0x13c792d7, L:/172.26.9.22:9201 - R:/125.22.193.148:10327]
[2018-04-11T07:23:36,634][WARN ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][1400] overhead, spent [791ms] collecting in the last [1.1s]
[2018-04-11T07:23:37,639][WARN ][o.e.m.j.JvmGcMonitorService] [8-emPGV] [gc][1401] overhead, spent [578ms] collecting in the last [1s]
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.