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