好吧,由于这个问题本身就很简单,让我更多地澄清一下。
我运行MongoDB主要是出于后端的只读目的。我的crons执行写操作,当它们被触发时,它们并不会真正地推动它。一些更新,一些新的文档等。
问题是,请求通常甚至不会触及应用程序级别,因为整个页面缓存都是由Nginx在Memcached内处理的。因此,应用程序不会在每个页面上再查询一个小时的数据库。
但在我的进程列表中可以看到,由于前面的查询,有21个MongoDB工作进程没有使用任何CPU,但占用了相当多的内存。
我查了configuration settings,到处搜索,但没有找到任何答案。那么,有没有办法限制这些进程,或者至少让MongoDB在一段时间后减少/清空它的内存使用呢?
1条答案
按热度按时间siv3szwd1#
除了服务于用户请求之外,工作人员还用于与配置服务器和其他副本进行对话。这在这里有记录。
我们可以在此页面上将
net.maxIncomingConnections
限制为PAR建议,以限制处理用户请求的工作人员数量。但这应该谨慎使用,因为将此数字设置得太低,然后发送更多并发呼叫将导致一些呼叫排队。