行动是治愈恐惧的良药,而犹豫、拖延将不断滋养恐惧。

ES的搜索速度主要和硬盘的什么属性相关?

Elasticsearch | 作者 martindu | 发布于2017年03月08日 | 阅读数:3463

是看随机的IOPS吗?
 
我拿两个SSD测了一下, 环境如下:
1. 两个单点集群A、B,4核8G配置,50%内存给ES;
2. A集群的SSD IOPS在6000,B集群10000;
3. 索引大小9G,文档量200万,全部为新闻文本;
4. 分词为nGram,长度2;
5. 搜索“美国联邦调查局”,matchphrase;
6. 都是新建集群,搜索冷启动,没有缓存。
 
结果A集群500ms,B集群50ms,差十倍。
 
所以我想,如果仅用IOPS来解释的话,十倍的差距应该没有吧? 是不是还涉及其他性能指标?欢迎大家讨论!
 
另外这个问题编辑器好像用起来有点bug,光标会乱动。
已邀请:

kennywu76 - Wood

赞同来自:

这个match phrase查询的结果里有多少hit? 查询里返回多少条文档? 两个集群的索引settings和mapping以及数据量确定完全一样?索引设置能否贴出来看看? 我感觉冷启动下B集群50ms的相应速度有点难以置信。
 能否多跑几次查询,在有文件缓存情况下再对比一下A/B集群性能,这样可以确定10倍差距是否和两块SSD的性能差距相关。
 
另外nGram 和Match phrase query都是高消耗的特性,结合两者来处理中文的搜索虽然可以一定程度上满足功能上的要求,但显然不如用中文分词器 + match query高效。
 
 
 
 
 

要回复问题请先登录注册