近期用户反馈服务器上运行的项目越来越慢!同事打开服务器一看,原来cpu满了。说是服务器不够用,需要再备多一台了……占用100%我看着是数据库瓶颈,像是程序实现有点问题。最终定位到问题是一个定时服务语句
近期用户反馈服务器上运行的项目越来越慢!同事打开服务器一看,原来cpu满了。说是服务器不够用,需要再备多一台了……
占用100%
我看着是数据库瓶颈,像是程序实现有点问题。
最终定位到问题是一个定时服务语句引起的。
这个服务目前是每10秒查询数据,通过api向第三方平台上传数据。推送的数据不能重复,而且必须是按时间顺序的,成功后会保留记录。在查询的时候,需要排除掉已经推送成功的。
随着最近系统使用的多,每天产生10多万条数据。当推送成功记录超100万的时候,问题就出现了,查询越来越慢,服务器越来越卡。
弄清楚了问题,那就好解决了!
优化了程序逻辑,只查询最近3天的数据,然后推送记录定期自动删除,只保留最近5天的。后面看情况再调整时间。
推送的数据分了很多物理表(业务需要所以分表了),对表增加状态进行管理。不开启的不用查询,一定程度上降低数据库请求。
重新发布之后,性能已经稳定了。
正常在0-10%
程序实现还是得好好设计一下……
本站部分文章来自网络或用户投稿,如无特殊说明或标注,均为本站原创发布。涉及资源下载的,本站旨在共享仅供大家学习与参考,如您想商用请获取官网版权,如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。