在特定时间执行多个查询时,我的MongoDB CPU使用率将达到100%
我使用的是MongoDB 3.4,面临一次执行多个请求的问题 例如,如果我在200秒时执行1000个请求,此时MongoDB的CPU使用率将在98-100%左右,此时CPU完全阻塞并返回系统故障 解决这个问题的好方法应该是什么。我使用的副本集运行于: 主要:端口27017 从:端口27018 仲裁人:端口27019 系统配置:Windows 10(4个VCPU、8GB Ram、1 TB硬盘)在特定时间执行多个查询时,我的MongoDB CPU使用率将达到100%,mongodb,Mongodb,我使用的是MongoDB 3.4,面临一次执行多个请求的问题 例如,如果我在200秒时执行1000个请求,此时MongoDB的CPU使用率将在98-100%左右,此时CPU完全阻塞并返回系统故障 解决这个问题的好方法应该是什么。我使用的副本集运行于: 主要:端口27017 从:端口27018 仲裁人:端口27019 系统配置:Windows 10(4个VCPU、8GB Ram、1 TB硬盘) 任何建议/帮助都将不胜感激。您可能缺少一些适当的索引以减少BSON解析的数量。您还在一台机器上运行三个独
任何建议/帮助都将不胜感激。您可能缺少一些适当的索引以减少BSON解析的数量。您还在一台机器上运行三个独立的
mongod
进程。这不是一个推荐的设置,因为任何合理的工作负载都会由于两个数据承载mongod
进程之间的资源争用而使机器无法承受。@KevinAdistambha那么,如果我为主进程获取任何数据,那么由于复制,返回响应也需要时间吗???如果是,那么设置的好方法是什么replication@Abhay复制被设计为在不同的主机上运行。一个mongod
被设计为在一台机器上运行。也就是说,您可以在一台机器内运行多个mongod
,但一旦工作负载达到合理水平,您就无法期望由于资源争用而获得优异的性能。请记住,辅助服务器所做的工作与主服务器相同,因为它必须快速复制写操作。如果这是一个开发环境,可以运行多个mongod
来测试副本集设置对应用程序的影响。但是,这不是运行压力测试的正确设置。