当我使用nodejs-storage库下载JSON文件(2MB aprox)时出现错误500。该文件的下载没有任何问题,但是一旦我渲染视图并将文件作为参数传递,应用就会崩溃“服务器遇到错误,无法完成您的请求。”
file.download(function(err, contents) {
var messages = JSON.parse(contents);
res.render('_myview.ejs', {
"messages": messages
})
}
我正在使用App Engine标准环境,并具有以下进一步的错误详细信息:
为总共11个请求提供服务后,超出了256 MB的软内存限制和282 MB。考虑在app.yaml中设置更大的实例类
有人可以给我提示吗?先感谢您。
答案 0 :(得分:1)
500条错误消息很难排除,因为App Engine实例可能会出错。开始使用App Engine调试此类错误的一种好方法是转到Stackdriver日志记录,query以获得500条错误消息,单击扩展器箭头并检查特定的错误代码。在App Engine标准环境中出现Exceeded soft memory limit...
错误消息的特定情况下,我的建议是选择一个更适合应用程序负载的instance class。
假设您正在使用自动缩放,则可以尝试使用F2实例类(其内存和CPU限制高于默认F1),然后从那里开始。将app.yaml文件的instance_class元素添加或修改为instance_class: F2
就足以完成建议的实例类,或者您可以更改app.yaml文件以使用更适合应用程序负载的实例
请注意,增加实例类会直接影响您的billing,并且您可以使用Google Cloud Platform Pricing Calculator来估算与为App Engine应用程序使用其他实例类相关的成本。