zoukankan      html  css  js  c++  java
  • 页面获取账号响应时间长的解决记录

    【问题起源】:

              在今天的功能测试中,页面中点击获取用户、服务的筛选框,出现长时间转圈获取数据慢的情况。抓包查看发现请求的响应时间超过了10秒! 

                 

    【思路分析】:

              测试环境中的用户量不到1000,请求的接口超过了10秒的响应时间,存在严重的异常问题! 后续如果用户表如果上百万、千万,那得多慢 ,不可想象~~~

             

    【排查问题】:

               1、首先,抓到这个接口是哪个模块的(我们是微服务,30多个服务,排查问题得清晰的定位问题接口是属于服务的),抓包可看出是属于账号服务

               2、定位到所属服务后本人认为最快的方法就是先查看日志,进入Linux分别查看打印问题接口和sql的耗时

               3、当打印查询sql的耗时的时候,发现执行sql的时间占用了10秒!

               4、那么终于到问题根源,是查sql导致过长的响应时间问题。

               5、发现是sql问题,就去查看执行的sql语句,发现这个sql用到了left join(多表联查)的功能,不只是单表数据的查询。

               6、查看关联的服务表,发现数据量(测试数据)还是比较大的。

    【最终解决】:

              经上述排查后,最终问题定位到sql多表查询、关联表数据量过大,查看表设计发现未添加索引,加上索引后在次进入页面点击查询 ,时间上有了巨大的提升。

              最终解决方式就是加了索引提升了sql的查询时间。

                 

              

                

     

  • 相关阅读:
    [CF] Final Exam Arrangement
    [原创]9宫格填数字
    第二次结对编程作业
    第11组 团队展示
    第一次结对编程作业
    第一次个人编程作业
    第一次博客作业
    第二次结对编程作业
    第10组 团队展示
    第一次个人编程作业
  • 原文地址:https://www.cnblogs.com/wangxianglong/p/11793343.html
Copyright © 2011-2022 走看看