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