mongodb服务器下中的数据库解锁。
答案:2 悬赏:40 手机版
解决时间 2021-02-15 14:35
- 提问者网友:最爱你的唇
- 2021-02-14 14:05
mongo服务器下,只有其中一个lbs库,大小不到2G,里面有十几张表,但是查询非常缓慢,检测发现一直有很多的锁,进程也有好多,出现锁等待的情况。请问有什么办法解决吗?使用db.fsyncUnlock(); 解锁也不行,解不掉。db.killOp()杀掉最高的进程,查看进程时,刷出屏了,看不到上面进程的信息。求高手给点建议
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-02-14 15:22
解锁
use admin
db.$cmd.sys.unlock.findOne()
说明:
执行解锁,结果如下所示:
db.currentOp()
use admin
db.$cmd.sys.unlock.findOne()
说明:
执行解锁,结果如下所示:
db.currentOp()
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-02-14 16:07
你查看一下,如果数据文件大于系统内存,查询速度会下降几个数量级,因为mongodb是内存数据库。我以前测试过,1000万数据的时候没有索引情况下查询可能会几秒钟甚至更久。
这种情况,你最好给经常查询的项创建索引,有索引以后查询速度会非常非常非常的快。
另外一点是数据索引如果大于内存,速度也会下降很多。而且对于多条件查询,如果你查询的顺学和索引顺序不同,也不能使用索引。这个要慢慢摸索
如果你使用了replica set,这个会影响写入速度的,三个replica set,速度会降低到三分之一。
大概主要影响速度的就是这几点吧,如果你需求不是非常复杂,我以前测试mongodb速度方面优化好的情况下还是可以接受的。希望能帮到你
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯