mongodb是否一一处理查询?

时间:2019-03-22 10:14:33

标签: mongodb

假设我在远程服务器(1个核心cpu和8G内存)上有一个mongodb实例。 当我向实例发送简单查询db.table.find({_id:ObjectId('xxx')}).limit(1).explain()时,结果显示查询花费10毫秒。 那么我能得出一个结论:“我的mongodb服务器每秒只能处理100个简单查询”吗?

3 个答案:

答案 0 :(得分:2)

“所以我可以得出一个结论,即“我的mongodb服务器每秒只能处理100个简单查询””

这并不是说1个查询需要10毫秒,然后100个查询需要1秒 db.table.find({_id:ObjectId('xxx')}).limit(1)不会锁定您的桌子 因此,如果您的100个客户端请求此连接数为100,则所有连接将在10毫秒内返回 并发取决于锁和连接限制

如果一个查询锁定集合进行读写操作10秒钟,则此后的所有查询将等待锁被清除

MongoDb Can Handle multiple Request

db.runCommand({serverStatus:1}) 将返回mongo的当前状态,其中

"connections" : {
    "current" : <num>,
    "available" : <num>,
    "totalCreated" : <num>,
    "active" : <num>
}

https://docs.mongodb.com/manual/reference/command/serverStatus/#connections

https://docs.mongodb.com/manual/reference/configuration-options/#net.maxIncomingConnections

https://docs.mongodb.com/manual/faq/concurrency/

这些将使连接及其限制更加清晰

答案 1 :(得分:1)

您应该知道,您的mongodb服务器可以处理许多并行查询。

答案 2 :(得分:-1)

您的假设不正确,因为您忽略了mongodb支持并发的事实

Source