首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【项目实战-2】1条SQL竟然要82秒?

【项目实战-2】1条SQL竟然要82秒?

原创
作者头像
Nanako
发布2021-02-23 17:34:11
发布2021-02-23 17:34:11
6520
举报

【问题表现】

  项目系统,多接口混压过程中,发现QPS有掉坑的情况,同时也发现其中一个接口的95分位响应时长明显慢于其它接口。

(掉坑是后台在做切换,可以忽略)

【问题分析与排查思路】

1. 观测后端服务器的资源使用情况,活跃进程数达到15000. 按理来说这个活跃进程数达到50以上就异常了。

活跃进程数是指处理sql的进程数量,如果在某一时间段内,同时处理sql的数量大于50,就意味着会出现满sql,要关注sql的执行计划。(50是一个经验值)

2. 有开发反馈一条sql执行耗时了82s。根据mysql 活跃进程数异常,查看sql的执行计划,发现没有添加索引。

3. 添加索引,问题得到解决。

【总结】

在压测的过程中,关注存储层---mysql的资源使用情况,从数据库层排查响应时间长的原因,表没有添加索引是最常见的情况,可以通过查看sql执行计划,查看sql耗时情况。

关注存储层---mysql的资源使用情况。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【问题表现】
  • 【问题分析与排查思路】
    • 1. 观测后端服务器的资源使用情况,活跃进程数达到15000. 按理来说这个活跃进程数达到50以上就异常了。
    • 2. 有开发反馈一条sql执行耗时了82s。根据mysql 活跃进程数异常,查看sql的执行计划,发现没有添加索引。
    • 3. 添加索引,问题得到解决。
  • 【总结】
    • 在压测的过程中,关注存储层---mysql的资源使用情况,从数据库层排查响应时间长的原因,表没有添加索引是最常见的情况,可以通过查看sql执行计划,查看sql耗时情况。
    • 关注存储层---mysql的资源使用情况。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档