Elasticsearch version:5.1.1
Plugins installed: [ik]
JVM version:jdk1.8.0_11
OS version:CentOS release 6.8 (Final), 2.6.32-642.3.1.el6.x86_64
Description of the problem including expected versus actual behavior:
First, I have two same machine, everyone memery is 32G, this is my part of config:
192.168.1.5 jvm.options:
-Xms12g
-Xmx12g
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
192.168.1.6 jvm.options:
-Xms22g
-Xmx22g
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
My elasticsearch have about 2 billion document, I use Python script put data to elasticsearch speed about 500 document/s, it is to slow, so I modify the jvm.options config, as follows:
-Xms22g
-Xmx22g
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
192.168.1.6 jvm.options:
-Xms22g
-Xmx22g
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
A miracle happened: I find the put data speed up to 10000 document /s, It's absolutely amazing!I only modify the jvm memory, Why is there such a big change? Speed increased by 20 times!I do not know why, Does memory have a big impact on performance? Please tell me what happened,Thank you!