假设我在一台远程服务器上有一个mongodb实例(1核cpu和8G内存)。当我向实例发送一个简单的查询db.table.find({_id:ObjectId('xxx')}).limit(1).explain()
时,我得到的结果显示查询花费了10ms。那么,我是否可以得出这样的结论:“我的mongodb服务器每秒只能处理100个简单查询”?
发布于 2019-04-01 08:53:40
那么,我是否可以得出这样的结论:“我的mongodb服务器每秒只能处理100个简单查询”
并不是说1次查询需要10ms,然后100次查询将需要1秒,db.table.find({_id:ObjectId('xxx')}).limit(1)
不会锁定您表,因此,如果您的100个客户端请求100个连接,则所有连接都将在10ms内返回,具体取决于锁和连接限制
如果用于读取和写入查询锁定集合持续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/
这些将使连接及其限制更加清晰。
发布于 2019-03-25 10:28:04
您应该知道,您的mongodb服务器可以处理许多并行查询。
发布于 2019-03-28 11:07:58
您的假设是错误的,因为您忽略了mongodb支持并发的事实
https://stackoverflow.com/questions/55297376
复制相似问题