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

未完待续

你可能还会喜欢

推荐阅读更多精彩内容