Mongodb 节点在 Docker 上使用高 cpu 使用率
Mongodb with node is using high cpu usage on Docker
您好,我已经在 ubuntu Aws 微型实例上安装了 Rocket.chat,它 运行 Nginx,MongoDB 和节点,其中 MongoDB 是 运行 docker 图片 mongo:3.0
安装当天是 运行 顺利,但过了一段时间服务器变慢了,我用 top
命令检查了服务器。本来是MongoDB用了70左右的cpu%,第二天就闪了90%多了。
我已经在服务器上重新安装了所有东西,但还是一样,运气不好。
这是 top
命令的屏幕截图。
如果需要任何其他统计信息,请告诉我。
如何检查这里的主要问题,如何对其进行优化以使其正常工作。
谢谢
我知道为什么会出现这个问题。我开始使用 Meteor 实现我的自定义聊天平台。
所以问题的原因是用户对象中的services.resume.loginTokens
。
我们正在尝试在自定义本机 android 应用程序上实施火箭聊天 methods/api。
每当应用程序从 android 应用程序调用登录方法时,它都会添加一个新的登录令牌而不删除以前的登录令牌(用于多系统登录)
因此,如果您通过一些日期检查删除前一个,它不会对用户对象产生开销。
Accounts.registerLoginHandler (loginRequest) ->
# ... Do whatever you need to do to authenticate the user
stampedToken = Accounts._generateStampedLoginToken();
Meteor.users.update userId,
$push: {'services.resume.loginTokens': stampedToken}
# Delete old resume tokens so they don't clog up the db
cutoff = +(new Date) - (24*60*60)*1000
Meteor.users.update userId, {
$pull:
'services.resume.loginTokens':
when: {$lt: cutoff}
},
{multi : true}
return {
id: userId,
token: stampedToken.token
}
我从这里得到了这个解决方案,所以 question
您好,我已经在 ubuntu Aws 微型实例上安装了 Rocket.chat,它 运行 Nginx,MongoDB 和节点,其中 MongoDB 是 运行 docker 图片 mongo:3.0
安装当天是 运行 顺利,但过了一段时间服务器变慢了,我用 top
命令检查了服务器。本来是MongoDB用了70左右的cpu%,第二天就闪了90%多了。
我已经在服务器上重新安装了所有东西,但还是一样,运气不好。
这是 top
命令的屏幕截图。
如果需要任何其他统计信息,请告诉我。
如何检查这里的主要问题,如何对其进行优化以使其正常工作。
谢谢
我知道为什么会出现这个问题。我开始使用 Meteor 实现我的自定义聊天平台。
所以问题的原因是用户对象中的services.resume.loginTokens
。
我们正在尝试在自定义本机 android 应用程序上实施火箭聊天 methods/api。
每当应用程序从 android 应用程序调用登录方法时,它都会添加一个新的登录令牌而不删除以前的登录令牌(用于多系统登录)
因此,如果您通过一些日期检查删除前一个,它不会对用户对象产生开销。
Accounts.registerLoginHandler (loginRequest) ->
# ... Do whatever you need to do to authenticate the user
stampedToken = Accounts._generateStampedLoginToken();
Meteor.users.update userId,
$push: {'services.resume.loginTokens': stampedToken}
# Delete old resume tokens so they don't clog up the db
cutoff = +(new Date) - (24*60*60)*1000
Meteor.users.update userId, {
$pull:
'services.resume.loginTokens':
when: {$lt: cutoff}
},
{multi : true}
return {
id: userId,
token: stampedToken.token
}
我从这里得到了这个解决方案,所以 question