现在场景是:机器的性能是cpu很nb。i7忘记型号。nb是说几乎在查询的时候cpu的操作很少。通过htop来看。但是内存这块不行,只有8g,之后肯定会增加内存。硬盘也是普通机械盘,之后也会换,但是那是之后的事情,现在能感觉的是,当查询数据大于10万的情况,瓶颈出现在io上,io被锁了,内存在占用量也是满高的。导致其他操作很卡,虽然这个影响小,但是体现在web方面就是页面等待时间长。
目前做了如下的优化:
1,调整linux stack size数值。
2,建立索引。
3,把一些数据比较热门,近期(1个月)没有修改的数据单独一个集合。
通过上面三个来优化,情况也好点。但是还是会出现问题,当查询的时候多条件时,索引就无效了。情况还是一样糟糕。
所以,很是矛盾。怎么才能很好的处理?那如果还有一台一样配置的服务器那通过分片之类的操作能不能解决这种情况呢?
谢谢
mongoDB,优化可以 1. 加内存; 2. 加更多内存; 3. 插满主板最大内存。
可以考虑换 redis + mysql 方案。
供参考。
1、先找出那些业务CRDU操作比较慢,然后围绕这些操作来优化。
2、整体来说,加内存/换SSD都是比较常见的做法。也有一些常见的参数设置来优化,可以参考MongoDB的production notes,并对照着来配置。
https://docs.mongodb.com/manu...
Love MongoDB! Have fun!