讨论数量:
首先要排除是不是被植入了挖矿、木马或者是恶意连接等程序。如果是挖矿、木马那就从文件层面删除,然后再在进程里删除(一般都会有自启程序,也要排查这里)。并且 ngin 限流、设置 ip 黑名单,一分钟内请求多少次就加入黑名单。
其次,看图上是 mysql 连接占有比较高,那么就可以查看日志,是什么地方的查询访问次数比较多,那么就可以做出相应的优化:是代码层面查询的代码不合理(例如 n+1 的问题,循环里使用 mysql 等), 还是因为是热点数据。代码层面就进行优化,例如使用预加载、读写分离或者是优化掉不合理的代码;如果是热点数据,那么就可以使用缓存来存储热点数据,但是这里需要主要数据同步的问题。
最后,查询方面的问题,尽量不要使用 sql 语句,尽量使用模型进行数据库操作,模型能够避免绝大多数的 sql 注入。还有 tp5 漏洞的问题,也很有可能被攻击和注入,需要注意这里。
是不是休息日有什么定时任务在跑,并且定时任务处理的不好影响了 mysql, 看起来你的 mysql 占用 CPU 资源挺高的,不像是挖矿脚本,如果是挖矿脚本,为啥只在休息日呢?
推荐文章: