缺少索引导致的服务器和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

 

   

时间: 2024-10-02 09:59:45

缺少索引导致的服务器和MYSQL故障。的相关文章

服务器修改IP地址导致zabbix 不能连接mysql故障

一.故障说明: zabbix服务器IP 地址由192.168.1.226 改为192.168.1.73 访问zabbix时出现故障如下: 二.分析错误提示:连接数据库失败 解决思路: 1.在安装zabbix设定的数据库名称.端口.IP.账号.密码等,如果能修改此处设置的IP地址,问题可能会得到解决. 2.安装是填写的信息会生成一个配置文件,修改配置文件即可. #vi /etc/zabbix/web/zabbix.conf.php 三. 重启apache: #systemctl  restart

java远程访问linux服务器下mysql 无法连接的问题i

Connection conn = null; String url = "jdbc:mysql://xxx.xx.xx.xx:3306/connection"; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功加载"); String user = "root"; String passWord = "root"; c

mysql索引详解,摘自《MySQL 5权威指南》

本文介绍了数据库索引,及其优.缺点.针对MySQL索引的特点.应用进行了详细的描述.分析了如何避免MySQL无法使用,如何使用EXPLAIN分析查询语句,如何优化MySQL索引的应用.本文摘自<MySQL 5权威指南>(3rd)的8.9节.(2007.07.05最后更新)        索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.注:[1]索引不是万能的!索引可以加快数据检索操作,但会使数据修改操作变慢.每修改数据记录,索引

Linux下mysql故障

由于很多故障问题都没有截图,所以在记录过程中大多是陈述,不是那么直观,初衷更多是想作为自己解决过程的记录,当然如果有遇到相同问题的,不太明白也可以留言联系,希望能帮上忙. 在Linux系统上搭建应用平台,使用tomcat.mysql,执行程序.数据库.补丁都已经打包在一起,直接安装就行.安装Linux就遇到问题,外接光驱光盘安装RHEL5.1,工控机主板直连键盘,出现初始安装界面(文本模式提示linux text地方)键盘无法按键,让其自动进入安装,键盘就可以用了,BIOS也能认到键盘,已确认非

MS SQL巡检系列&mdash;&mdash;检查外键字段是否缺少索引

前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方面,网上关于MS SQL巡检方面的资料好像也不是特别多.写这个系列只是一个分享,自己的初衷是一个知识梳理.总结提炼过程,有些知识和脚本也不是原创,文章很多地方融入了自己的一些想法和见解的,不足和肤浅之处肯定也非常多,抛砖引玉,也希望大家提意见和建议.补充,指正其中的不足之处.Stay Hungry

Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论

我们使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题,本文就一次Linux服务器丢包故障的处理过程,结合Linux内核参数说明和TCP/IP协议栈相关的理论,介绍一些常见的丢包故障定位方法和解决思路. 问题现象 本次故障的反馈现象是:从办公网访问公网服务器不稳定,服务器某些端口访问经常超时,但Ping测试显示客户端与服务器的链路始终是稳定低延迟的. 通过在服务器端抓包,发现还有几个特点:

MySQL故障案例

第1章 MySQL故障案例: 1.1 背景说明: mysql的架构中没有主从复制的体系,也没有按时进行备份 数据库中有两个库conf库和jira库,仅有一份备份的数据,还是一年前的备份 1.2 故障场景: 意外宕机,导致磁盘物理损坏,也就是说mysql软件程序中data数据目录中的jira文件都没有了 数据库无法启动,经过检查,conf库数据文件都还在,也就是ibd和frm文件都存在 领导要求,conf还是好的,能不能临时先把数据库跑起来,然后想办法修复jira库 1.3 故障环境模拟: 1.3

服务器raid5阵列故障排查及数据恢复过程记录

[服务器故障情况概述] 今天介绍的是服务器raid5阵列因为不明原因导致阵列崩溃后的故障排查方法,以及服务器数据恢复过程.下面简单介绍一下需要恢复数据的服务器硬件配置情况:本次数据恢复案例中的服务器型号为某品牌X3850型号,服务器上组建了一个raid5磁盘阵列,阵列里包含4块成员盘和1块热备盘一共5块.服务器再正常使用过成功突然崩溃,管理员查看raid阵列状态时发现阵列中有2块硬盘掉线,热备盘没有启用.需要从服务器层面进行数据恢复操作.·[服务器数据恢复普通流程]首先关闭服务器并保证在排查故障

Ubuntu 12.04下搭建Web服务器 (MySQL+PHP+Apache)(转)

看了网上很多关于用linux操作系统搭建网站服务器的教程,于是我自己也测试了很多,但今天所测试的 Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境),感觉这个适合新手.所以这里就跟大家分享下.其实这个网上也有教程的,但我这里算是优化前辈们的教程吧,因为 我当时按照他们的操作时卡了几次,因为他们的有的地方没讲清楚. Ubuntu 12.04(代号Precise Pangolin)是一个LTS长期支持版本,已如约正式发布.Ubuntu 12.04是第16代Ubu