版本及硬件配置
- JDK:JDK1.8_171-b11 (64 位)
- ES集群:由3台16核32G的虚拟机部署 ES 集群,每个节点分配 20 G 堆内存
- ELK版本:6.3.0
- 垃圾回收器:ES 默认指定的老年代(CMS)+ 新生代(ParNew)
- 操作系统:CentOS Linux release 7.4.1708(Core)
jvm.options 文件
-Xms16g
-Xmx16g
-XX:NewSize=8G
-XX:MaxNewSize=8G
elasticsearch.yml文件
# 优化 fsync
"index.translog.durability": "async",
"index.translog.flush_threshold_size":"1024mb",
"index.translog.sync_interval": "120s"
# 优化 refresh
"index.refresh_interval":"5s"
# 优化 merge
"index.merge.scheduler.max_thread_count":"1"
# 优化线程池
# 线程数设置
thread_pool:
write:
# 线程数默认等于cpu核数,即16
size: 17
# 因为任务多时存在任务拒绝的情况,所以加大队列大小,可以在间歇性任务量陡增的情况下,缓存任务在队列,等高峰过去逐步消费完。
queue_size: 10000
#锁定内存,不让 JVM 写入 Swap,避免降低 ES 的性能
bootstrap.memory_lock: true
# 减少分片数、副本数
"index.number_of_shards": "3"
"index.number_of_replicas": "1"