再次学习ES--7--故障处理和体验优化
2018-12-06 本文已影响0人
lionel880
1.垃圾处理
ES是一个java程序,垃圾处理肯定是绕不过去的。gc调优主要还是内存的分配,年轻代等分配。这些和常规java程序优化是一样的。推荐Xmx,Xms一开始就设置为相同的大小。
- 附带,禁止Unix系统中的内存交换也是常见方式。内存交换是指内存中的页写入外部磁盘,linux系统中指的就是Swap区,这个过程会消耗时间
2.I/O调节
节流问题主要出现在段合并的时候,由于段合并非常消耗I/O,需要先读取久的索引段,再合并写入新的索引段。此时如果同时进行查询或索引,会增加I/O子系统的压力。
I/O节流就是在这个点进行处理,ES可以设置ES索引或者节点的节流。在节点节流配置上,indices.store.throttle.type,支持none,merge,all 3个属性值,merge就是在合并的阶段控制流量
3. 改正用户拼写错误
suggest 一系列api,这块要与时俱进