身安不如心安,屋宽不如心宽 。

写入压测导致cpu context switch 过高,cpu sys 过高,系统卡住

Elasticsearch | 作者 cht | 发布于2018年12月13日 | 阅读数:3367

问题描述:
进行写入压力测试,单机,无副本。
正常情况下cpu user sys都小于 10%。每3,4小时 sys cpu飙升,同时查看 cpu context 过高,同时磁盘读取飙升,导致系统卡住。如下图,是不是merge 影响的?还是什么原因。求教各位。
 
 设备参数:
版本:6.1.1
硬盘:机械硬盘,4T * 4
cpu:28核,超线程56,elasticsearch.yml 设置成28
内存:128g,jvm配置成32g
    "settings" : {
        "number_of_shards" : 32,
        "number_of_replicas" : 0,
        "codec" : "best_compression",
        "index.refresh_interval" : "30s",
        "index.translog.durability" : "async",
        "index.translog.sync_interval" : "15s",
        "index.translog.flush_threshold_size" : "1024m",
        "index.merge.scheduler.max_thread_count":1
    },
 

50b0be40924b2dc147a0c00d9.png

 
已邀请:

doctor

赞同来自:

对比看一下线程数的曲线

rochy - rochy_he

赞同来自:

"codec" : "best_compression" 该设置会造成 CPU 使用率较高;
"index.translog.sync_interval" : "15s" 可以使得增大该值,例如 60s;
此外 index.refresh_interval 可以设置为 30s
每3,4小时 sys cpu飙升,在飙升的时候,使用  ES 提供的 hot_thread api 看一下主要的工作线程。

zqc0512 - andy zhou

赞同来自:

这玩意有可能是segment在搞事。

要回复问题请先登录注册