H5-dooring 后端是 koa2,数据库是直接读写的本地json文件,没有sql,没有redis。我们上线之后,一直有各种各样的问题,简单梳理下,不涉及具体代码,不涉及业务细节。

pm2 频繁重启

日志文件是直接读写,没有按照时间分割,导致日志文件暴增,node 可用内存64位一般情况下是 1.4g,当内存溢出时候,直接导致 node 进程退出,pm2 频繁重启

高 cpu

引入的 koa-compose 配置有问题,一直占据 cpu 时间片,200并发就能导致 cpu 100%,去除之后正常。

静态文件处理

静态文件使用 koa-static 处理,虽然也没啥大问题,但是效率明显偏低,静态文件,我们换成了 nginx,koa 只处理接口请求。

缺少缓存

频繁读写本地 json 文件,没有使用缓存(比如 Redis),性能不友好,对高并发的 H5 接口,我们加了内存缓存。

总结

这个项目的排查,学了不少后端的知识,H5-dooring 这个项目,前端挺美的,后端嘛,😝😝😝