如何能让ES服务处于稳定的状态,不会被业务给压挂
业务中经常会一些不当的操作,比如模糊匹配长度较长,深度分页等不当的用法。有哪些防护措施,能够保护一下ES,目前ES服务前没有挂别的服务。
现在已经参考7.0的熔断机制将indices.breaker.fielddata.limit设置为了40%,大佬们还有什么建议?
业务中经常会一些不当的操作,比如模糊匹配长度较长,深度分页等不当的用法。有哪些防护措施,能够保护一下ES,目前ES服务前没有挂别的服务。
现在已经参考7.0的熔断机制将indices.breaker.fielddata.limit设置为了40%,大佬们还有什么建议?
3 个回复
cyberdak
赞同来自:
王庆焕 - https://discuss.elastic.co/u/wangqinghuan/
赞同来自:
深度分页默认最多深度查询到第1w条记录(es window size默认限制,可以根据你的实际情况修改),相当于es限制了深度分页。
es默认所有的字段都设置了doc values,fielddata默认禁用,如果排序聚合,必须设置doc values。所以排序聚合也基本不会影响稳定性。
5.0版本以后的es已经把之前容易出现问题的设置(用过1.x版本的用户基本都遇到过这些问题)都做了禁用或者限制。但是在使用api或者某个功能时,仍然要去官网仔细阅读文档,如果有影响效率和稳定性的风险,文档都会给出提示。
hapjin
赞同来自:
terminate_after
timeout