某次,系统增加了一个页面展示功能,前后端都相应更新了。
此上线半天后,就发现这个服务器上的其它服务模块相应都变得极慢无比。
排查发现是mongoDB 占了99.9%的CPU,真是恐怖。
大约就是上线2小时之后,逐步把CPU吃满了。
排查发现是前端新功能中某个版块刷新数据频率太快,大致是每秒1次刷新, 后端计算慢,需要2秒才能返回应答。
这个积累下来,mongodb数据库就忙于运算,满CPU了。
赶紧更新前端,把刷新频率降低到2分钟一次。
上线后,发现还是没任何缓解。
困惑一会,才想到可能有些用户打开了展示页面并停留(未刷新), 还是保留了老的更新逻辑,频繁快速访问后端接口。
这样就清晰了,立刻更新后端,改了那个后端接口的路由名称,上线后,1分钟后,CPU满的情况就解决了。mongodb占用CPU恢复正常了。
其间也尝试 从mongodb command line进入,想查看挤压的任务/操作等信息,老报auth failed。
果然是特别的数据库,还待继续探索
相关文章
- mongodb满CPU的故障解决
- 【Mongodb——bug】安装好MongoDB,但服务中没有MongoDB服务的解决办法
- 关于Linux虚拟机错误“客户机操作系统已禁用CPU。请关闭或重置虚拟机。”的一种解决办法
- Windows下进程占用CPU过大的解决方案
- 程序猿是如何解决SQLServer占CPU100%的
- 完美解决surface pro6 CPU降频导致性能下降的问题
- MongoDB安装之后无法启动的解决方法
- JavaWeb项目导致Linux服务器CPU过高的解决方案
- Rancher中K8S仪表板Service unavailable故障的解决办法
- Java连接MongoDB报错“java.lang.IllegalArgumentException: clusterListener can not be null”的解决办法