有人可以告诉我如何对作为容器运行的MongoDB进行故障排除吗?
我们有一个问题,就是我们的mongoDB连续用尽300%的CPU。这些过程会减慢整个系统的运行速度,也会降低内存的利用率。
我对MongoDB不太熟悉,非常感谢可以帮助我的方法。
答案 0 :(得分:0)
您应该使用查询探查器来识别慢速查询(https://docs.mongodb.com/manual/tutorial/manage-the-database-profiler/)。另一种方法是使用Column 1 | Column 2 | Column 3 | Column 4
----------------------------------------
Value 1 | Value 2 | Value 3 | Value 4
(https://docs.mongodb.com/v3.4/reference/method/db.currentOp/)查看正在运行的查询。
识别慢查询之后,可以使用db.currentOp()
(https://docs.mongodb.com/manual/reference/method/cursor.explain/)函数检查查询是否使用正确的索引。如果没有,则对查询中的过滤器重新排序或添加缺失的索引。