我开发了一个Web项目
http://yema.leanapp.cn/3

项目架构:
云引擎 + Node.js + Express + AngularJS

问题:
内测时,80%大部分情况下,网站的访问是正常的
20%的情况下,用户打不开 http://yema.leanapp.cn/3 开头的任何网站,需要等待1分钟到5分钟,才可以正常打开
然后网站又恢复正常

调试的经验:使用Chrome调试
1. 打开网站的HTML资源一直在超时,等待60sHTML资源下载下来后,JS和API接口调用都正常
2. 在Express根路由那打Log,发现卡顿时,Log也不会在云引擎的日志系统里输出
3. 在http://yema.leanapp.cn/域名打不开时,本地进行调试http://localhost:3000/doTask
本地一切正常(API访问等都正常)

【猜测】
感觉是静态资源出了问题
在卡顿时,访问图片问题,也长时间超时无法访问

备注:
1.网站有用户频繁上传图片的功能
2.网站有访问Apple Appstore接口的功能,然后读取返回的流,在转化为string和jsonObject

【其次问题】
在云引擎查看日志统计,感觉内存使用非常高,不知道为什么?
内存使用曲线

同一时刻请求曲线

同一时刻CPU请求曲线

查了几天了,请帮忙看看,哪里出了问题,非常感谢

1 人赞了这个帖子.

你的云引擎是专业版吗?如果只是免费版的话,每天有 6 个小时的强制休眠时间,如果云引擎实例被休眠了,这时候的访问就会比较慢,详细请看这里:云引擎运行方案2

你好,是1G的专业版

你的用户上传了图片以后你是存在哪里啊?不会是存在本地吧?

存在Leancloud的AVFile里

你好,建议升级下云引擎中间件到 0.4.0 以后,因为 0.4.0 增加了一个特性是云函数会强制 15 秒超时响应。Node.js 的异步风格很容易在某些代码路径忘记 response,这样会导致请求一直没有响应,然后最终被路由服务断定超时。

除了云函数 15 秒超时响应,也建议应用的所有 router 设置一个合理的超时时间,具体方式可以参考项目模板:


增加了合理的超时之后,应该能在云引擎里看到一些没有响应的请求超时的日志,然后再对应确认下是否有遗漏的 response。

如果还不能确认问题请联系我,我们一起排查。

已经是用的0.4.0

我试试加入超时的代码
同时排查所有可能不返回response的地方

非常感谢,我按照你们说的先试试