ElasticSearch优化系列三:机器设置(内存)
heap参数设置优化
命令行修改
./bin/elasticsearch -Xmx10g -Xms10g
xmx-JVM最大允许分配的堆内存,按需分配
xms-JVM初始分配的堆内存
此值设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
对Unix系统,可修改./bin/elasticsearch.in.sh文件:
一般分配主机1/4-1/2的内存
if [ "x$ES_MIN_MEM" =
"x" ]; then
ES_MIN_MEM=12g
fi
if [ "x$ES_MAX_MEM" =
"x" ]; then
ES_MAX_MEM=12g
fi
JAVA_OPTS="$JAVA_OPTS
-Xms${ES_MIN_MEM}"
JAVA_OPTS="$JAVA_OPTS -Xmx${ES_MAX_MEM}"
线程大小, ES单线程承载的数据量比较大
JAVA_OPTS="$JAVA_OPTS -Xss128m"
测试常用设置
内存文件系统
将ES的数据目录放到内存文件系统(屏蔽磁盘I/O瓶颈,内存文件系统写入速度能达到1GB/S以上)
mount -t tmpfs -o size=10G,mode=0755 tmpfs /home/elasticsearch-2.3.1/data
操作系统环境调节
ulimit -n 65536
ulimit -l unlimited
ulimit -s unlimited
压力测试工具
jmeter
Benchmarking elasticsearch with Apache JMeter
未完待续