601天前2021-07-30 15:25:51 |    抢沙发  2640 
今天收到编辑反馈说我们的一个网站后台登录很慢,半天没响应,于是我访问了一下确实一直转圈没响应,然后登录服务 分别查看了内存 硬盘 CPU 的使用率 发现CPU一直处于高位且都是mysql的进程

今天收到编辑反馈说我们的一个网站后台登录很慢,半天没响应,于是我访问了一下确实一直转圈没响应,然后登录服务 分别查看了内存 硬盘 CPU 的使用率 发现CPU一直处于高位且都是mysql的进程。

因为服务器上有多个站点,所以第一步要做的就是定位到时那个站点。

通过在mysql中执行:

show processlist;
PS:列出前100条正在执行的语句。

通过user 和db字段能知道是哪个站点。

然后通过state可以查看是否存在索引问题。sending data 代表sql正从表中查询数据,如果查询条件没有适当索引,会导致sql执行时间过长

然后我进入对应的数据库查看表结构确实发现好几张表没有对筛选字段创建索引。创建索引后CPU立马降下去了。有原来的99%降低到了17%


发表评论

暂无评论

登录

忘记密码 ?

切换登录

注册

扫一扫二维码分享