如题,目前我们将所有用户聊天消息存储在一个es索引中,有较大性能问题。有同事提出为每个用户分别建立索引,用户量有数万之多,感觉比较天方夜谭,但查询到相关官方资料。
如题,目前我们将所有用户聊天消息存储在一个es索引中,有较大性能问题。有同事提出为每个用户分别建立索引,用户量有数万之多,感觉比较天方夜谭,但查询到相关官方资料。
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
5 回答906 阅读
3 回答2.2k 阅读
1 回答791 阅读✓ 已解决
2 回答721 阅读✓ 已解决
2 回答858 阅读✓ 已解决
索引没上限,但分片有上限。一般来说单个分片超过 50GB 性能就会明显下降,不过靠机器数硬叠也没啥问题。
这东西你是找不到资料的,机器配置不一样、文档结构不一样、查询方式不一样,对结果的影响天差地别,只能是有个大约摸的情况。具体性能瓶颈需要你自己做 Profile 来测。
我司用 ES 做流量日志存储,单集群20个节点,每天数据10亿条、2TB左右,平均查询时间也就几十毫秒。如果你们业务的聊天记录也是这个量级的话,扛住没问题的。