关于定位elasticsearch某个节点IO读异常高
1.背景
公司一家客户更新最新的搜索的代码后,搜索的时候读写偶尔飙升到很高,后面运维将给elasticsearch的堆内存给到了12g后,IO一直飙升到很高,一直维持在那个水平
2.思考
刚开始一点头绪没有,尝试了重启该节点,可是一起来,I/O就维持到很高的水平,从网上查资料很多人说是合并段的问题,但是对底部的概念不是很熟的话不敢乱操作
3.查资料
原来elasticsearch搜索的时候会先将搜索的内容加载到filesysystem cache中,如果文件系统缓存不足以加载那么多数据的话,就会直接穿透到磁盘,才导致I/O查询一直
飙升不下.
4.使用free-h查看系统可用内存,发现该机器上只有7.6G,后续通过给该节点增加内存完美解决问题