背景:
日均800w+ pv 的网站,原来是 angualr 的调 java api,因为产品页面涉及40+ 数据维度,首屏渲染一度接近8-12s
前端重构方案:
用 egg 服务端视图渲染层,在service 中使用 Promise All ,并发 调用 java http 服务。
在使用ejs 进行首屏渲染。 首屏渲染回归 1s ,且不在出现白屏loading 的情况。
另:整体架构是,阿里高防 ip 负载均衡到 ecs 上的公司部署的 nginx ,在由nginx 负载均衡到egg服务器, egg 服务请求另一个nginx 负载的java api
遇到问题:
- 前期只是在 egg 中依次调用后台,效果不稳定,单次响应时间过长,导致 qps 上不去,后来使用 Promise All 进行优化,缩短单次响应时间,达到上线状态。 其他问题可以忽略。。。。
网站改版 已 2个月,遇到新的问题:
-
服务器 8核8G,有一台负载总是相对较高,一台75% + ,其他都是40%+ 如下图
-
egg 服务返回每小时会返回一定量的 503 的异常,期间已将程序主动 放回的状态码 修改为 501,502,505 等,下面是每天访问峰值的一小时的错误状态码数据 503 217910 502 1005 500 503 501 14
对以上问题, 期待有大神能给个解决方案、或者解决思路。