最近网站总是突然之间,非常卡顿,数据都加载不出来了,十分的离奇。可是最近也没有改代码也没什么功能变动,访问量也没突然特别多。上了服务器之后也不知道发生了什么,环境也是正常的运行,而且卡顿的情况过了一会后就好了,一会卡一会就好了的样子。
在持续观察的过程中发现,每次卡顿的时候服务器的读写就很大,而且CPU的占用也会突然的跑满,查看占用发现是MYSQL占用了所有的资源,这个时候就稍微有点眉头了。可能是给别的服务商提供的视图,被他们大量抓取资源的时候服务器就特别的卡。
知道了原因就好说了,查一查哪一个用户占用的比较多,直接给他停了
在MySQL中,要查询哪个账号请求多且占用资源多,我们可以从几个方面来考虑:连接次数、执行查询的次数、锁等待时间、IO操作等。
以下是一些常用的查询:
1. **按连接数排序**:查看哪个用户建立的连接多。
2. **按执行语句总数排序**:包括各种类型的语句(查询、更新等)。
3. **按锁等待时间排序**:反映了哪些用户的操作可能导致了较多的锁竞争。
4. **按IO操作排序**:包括读写的数据量。
1. 按执行次数排序(请求频率高)
2. 按资源消耗排序(CPU/IO高)
这里建议用第二个方法,可以直观查看他们查询数据的行数和cpu占用时间,根据哪个用户用量比较高直接做限制就可以了
下一篇: 没有了