在任何人将此问题标记为重复之前,有一些问题使我与众不同。
错误:Exceeded soft memory limit of 1024 MB with 1059 MB after servicing 0 requests total. Consider setting a larger instance class in app.yaml
注意:没有其他东西正在使用该服务器! 没有cron作业,没有deamons,我没有希望消耗内存的东西。在此之前,我已经对该服务器做了很多代码优化,并且实际上它是空闲的。在应用程序中仅提供来自我手机的按钮单击请求,而没有后台服务(一个用户一个应用程序)。
YAML文件:我使用;
# [START gae_quickstart_yaml]
runtime: nodejs8
instance_class: F4_1G
# [END gae_quickstart_yaml]
automatic_scaling:
max_instances: 11
target_cpu_utilization: 0.9
问题:
出了什么问题?
如果我将此产品投入生产(如果问题已解决),它可以处理每天发出20-30个请求的5000-10000个用户吗?如果没有,我将非常感谢为这样数量的用户提供的示例配置。这是我第一次在 Google App Engine / Google云
编辑:端点代码:
router.post('/endP', (req, res) => {
let options = req.body.userdata;
let isResponded = false;
//simply inserting to DB with knex
db_helper.insert(con.knex, options).then(async (s) => {
isResponded=true;
let reply = JSON.stringify(s);
const message_content = {
data: {
body:reply
},
android: {
ttl: 3600 * 1000 * 24 * 28, // 4 weeks
priority: 'high',
},
topic:"myTopic"
};
//FCM notification
await firebase.sendMessage(message_content);
res.status(200).send(encryptor.encrypt(reply)).end();
}).catch(err => {
if (!isResponded) {
let errr = err;
res.status(500).send('Failed').end();
}
return null
});
});
答案 0 :(得分:2)
在本地运行时会消耗多少内存? 如果您无法发布所有代码,请在内存配置文件运行时发布结果 我知道stackdriver在beta中有一个探查器,它对于跟踪正在发生的https://cloud.google.com/profiler/
很有用