zoukankan      html  css  js  c++  java
  • 缺少索引导致的服务器和MYSQL故障。

    故障现象:

      

        网站访问缓慢。

        数据库RDS: CPU满,连接数满,其他值都是空闲。

        apache服务器:CPU正常,IO正常,流量报警,内存爆满。

     

    解决思路:

        一、没遇到过此情况,一脸懵逼。

        二、请教大神寻求思路。

    根据现行表明有可能是:

        1、慢查询,表锁
        2、CC攻击或者蜘蛛抓取导致大量的小查询(可能没有索引)

            一、查看数据库,有没有存在慢查询和锁表情况。(show full processlist),关注:查看最长时间查询的几个连接。注意:(带动作的连接,如果只连接值是null)不操作可忽略

          一、1:如果存在表锁查看什么表锁住了,show OPEN TABLES where In_use > 0;。

    故障原因: 二、经过查询2条SQL缺少索引,但是这2条索引查询时间都在1秒正常值内,因为查询较多引起的堵塞。(果断添加这2条缺少的索引)。

    故障原因:   二、2、SELECT * FROM tp_supplier WHERE supplier_id > 0 AND fenxiao_cate_id_1 = '1376827' AND is_show = 1 AND LENGTH(brand_logo) > 0 AND is_recommend = 1 ORDER BY order_by DESC LIMIT 0, 7  (该SQL查询字段中 tp_supplier.brand_logo > 0 传入的数据类型与表字段定义不一致,会导致索引失效,建议改为 tp_supplier.brand_logo > '0' )

          三、5分钟后数据库恢复正常,网站恢复正常,一脸无懵逼。

    常用故障诊断工具:top 、vmstat 、iotop、ifstatus、mytop、iftop -i eth1、iostat

     

         

  • 相关阅读:
    Linux的命令技巧
    MAC地址表、ARP缓存表以及路由表
    边缘触发(Edge Trigger)和条件触发(Level Trigger)
    vue-router跳转页面
    正则表达式(简单易懂篇)
    Markdown快速使用指南
    WEB前端资源集(二)
    WEB前端资源集(一)
    js判断移动端与pc端
    js原声快速实现选项卡
  • 原文地址:https://www.cnblogs.com/cp-miao/p/5593462.html
Copyright © 2011-2022 走看看