24.94K 浏览2016/03/02性能问题 0 raylynn@qq.com0 2016/03/02 0条评论 我使用mongodb3.2版,使用默认引擎。 查找一个集合100w条数据,其中命中索引的返回20条记录的查询,首次花费3-5s。再次请求只有0.3s左右。请问这就是所谓的热数据缓存吗,该如何改善其效率? 在我们的业务场景中客户体验至上,用户刷新数据时应在几毫秒内返回。后端服务跑慢点没关系,但热数据原理是为了提高经常访问数据的效率,但也因此损失了用户体验方面的性能。该如何解决这样的问题?? 若改用wiredtiger引擎是否会有所改善?切换是否可逆有啥副作用吗? 2 答案 活跃已投票最新最老的 0 raylynn@qq.com0 发布 2016/03/08 0 条评论 谢谢您的回答,已经核实,就是索引创建的不够丰富所致 0 TJ130 发布 2016/03/02 0 条评论 首次读3-5s有可能有两个原因:1)索引尚未加载,加载索引需要一些时间 2)如果没有1)的原因,那可能就是IO性能较低。 如果需要保证毫秒级响应,应该保证客户访问数据常在内存。如果数据总量不大,则建议部署足够大的内存来装在所有数据+索引。或者考虑客户访问和后端服务在不同节点上访问,如果可以的话。这样防止客户数据被后端访问数据刷掉。 注册 或 登录