记录Node服务cpu 100%优化过程
2024-01-02 | 606浏览 | 0评论 | 标签:无
前言
最近查看自己服务器状态时,(硬件配置1c2g2m),发现CPU经常占比100%,频率大概2次/周,询问了服务器商,升级硬件实属天价,于是决定从软件层面进行优化。
(宝塔CPU监控,一个月有11次CPU占满!)
服务器用途
先说说这台服务器的使用情况:
一、API服务 若干(服务端): Node.js(express) + MySql + PM2
二、管理系统 1个(前端):Element-ui + Vue + Nginx
三、静态页面 若干(前端): Element-ui + Vue + Nginx
排查过程
鉴于前端页面不涉及到SSR渲染的方式,所以暂时只从API服务部分着手。
我使用的PM2来管理Node服务,于是使用PM2的日志查看命令pm2 logs
,查得错误日志文件路径在/www/wwwlogs/pm2/error.log
中。鉴于文件较大,下载到本地查看。
根据宝塔CPU监控显示,最近一次cpu 100%是2023-12-28T09:36:09,搜索日志时间显示如下:
看起来是我一个彩票结果识别接口报的错,在/util.js第229行:
原来是写入文件时在报错,因为这个功能已经下线了,所以代码直接作注释处理。后来发现80%都属于这个问题。
继续查看其它类型报错,还发现了如下错误:
原来是《油管评论下载器》中获取评论接口的请求遇到限频,之前这个下载服务是同步接口,没有并发控制,花了两天时间改成了异步,这个涉及到数据库、前后端的修改,后面有机会再写一篇详细记录(见《Node文件下载服务并发问题优化(数据库方式)》)。
总结
主要报错的点已经处理,相信后面cpu爆炸的情况会大大改善,后期将持续观察。
(本篇完。有疑问欢迎留言探讨)
热门文章
- 微信小程序“拍照识图”上线(63,758)
- YouTube评论翻译插件《油管评论翻译机》上线了(60,288)
- 基金助手--chrome浏览器插件(45,193)
- 拍照识别彩票结果在线工具(31,943)
- vue+tabs动态组件方案漫谈(26,476)
- 《油管评论翻译机》使用说明书(25,337)
- 网页打印插件Print.js(23,978)
- 自用YouTube抓取评论+翻译工具(23,380)
- YouTube评论导出免费在线工具(18,054)
- px转rem/vw方法小结(17,565)