【ElasticSearch】ElasticSearch节点可用机器内存减少后写入性能下降问题排查

现象

ElasticSearch节点所在机器部署了其他服务后,ElasticSearch的写入性能下降了。使用cgroup隔离了ES进程和其他服务的CPU,服务部署后ElasticSearch节点可用机器内存减少了一半以上

理论分析

部署其他服务后后ES可用的page cache量下降了一半,ES依赖page cache进行写操作,page cache大小降低可能导致page fault发生频率增高,影响写入性能

测试过程

  1. 部署ES,模拟正常的写入流量
  2. 执行sar -B 1 60命令,观察page cache指标
  3. 创建一个占144GB的进程,该进程除了占内存外无其他操作
  4. 观测page cache等指标

测试结果

  1. page cache使用量下降,从128GB降到46GB
  2. page in, page out, major page fault频率显著增加(06:11:48之后
操作时间    pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff

操作前1分钟  22.00 276339.07  86604.02      0.02 144997.05 4564847.45   9912.78   2965.77      0.06
操作后1分钟 987.20 258302.65 440210.45      2.23 474992.83 3564184.18 1136200.70 347292.93      7.39
操作后2分钟 7654.67 230166.48 943175.17      5.95 227220.80 4083424.47 636770.77 106352.42      2.25
操作后3分钟 5579.42 282259.42 469521.05      3.35 120995.90 4617239.30  67159.00   8024.97      0.17
操作后2小时 11628.35 292470.47 433449.10      3.82 149460.33 3524461.10      0.00     68.77      0.00
  1. 磁盘读IO上涨,每分钟的read_request从个位数涨到几百。CPU.iowait上涨,从4%上涨到9%作业。原因是page fault会触发读磁盘数据到page cache

  2. 由于写入流程触发page fault导致写入延时增加,ES写入性能下降,吞吐大约下降了21%,延迟上涨了20%

结论

内存占用导致page cache空间减少,继而ES写入性能下降

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值