缺少索引导致的服务器和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
缺少索引导致的服务器和MYSQL故障。的更多相关文章
- MySQL选错索引导致的线上慢查询事故
前言 又和大家见面了!又两周过去了,我的云笔记里又多了几篇写了一半的文章草稿.有的是因为质量没有达到预期还准备再加点内容,有的则完全是一个灵感而已,内容完全木有.羡慕很多大佬们,一周能产出五六篇文章, ...
- (转)Web服务器磁盘满故障深入解析
Web服务器磁盘满故障深入解析 原文:http://blog.51cto.com/oldboy/612351 ############################################# ...
- MS SQL巡检系列——检查外键字段是否缺少索引
前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方 ...
- DHCP服务器 出现的故障
系统版本:Windows Server 2008 R2 Standard 故障现象:近段时间,我们核心网络DHCP服务器,总是发现有掉线重起现象,大约每10分钟至30分钟不定时会重起. 故障代码:关键 ...
- 服务器tomcat/mysql的一些有关命令
停服务1.“ps -ef|grep java” # 查看tomcat进程id 若下面出现一大串内容,包含有tomcat的目录,前面的四位数的数字就是tomcat应用的进程id 2.“kill -9 进 ...
- Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论
我们使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题,本文就一次Linux服务器丢包故障的处 ...
- 为什么 MongoDB (索引)使用B-树而 Mysql 使用 B+树
B-树由来 定义:B-树是一类树,包括B-树.B+树.B*树等,是一棵自平衡的搜索树,它类似普通的平衡二叉树,不同的一点是B-树允许每个节点有更多的子节点.B-树是专门为外部存储器设计的,如磁盘,它对 ...
- [转载]Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论
Linux服务器丢包故障的解决思路及引申的TCP/IP协议栈理论 转载至:https://www.sdnlab.com/17530.html 我们使用Linux作为服务器操作系统时,为了达到高并发处理 ...
- ORACLE中关于外键缺少索引的探讨和总结
在ORACLE数据库中,定义外键约束时,ORACLE是不会自动创建对应索引的,必须手动在外键约束相关的列上创建索引.那么外键字段上是否有必要创建索引呢?如果有必要的话,巡检时,如何找出外键字段上没有创 ...
随机推荐
- java classloader
一个jvm中默认的classloader有Bootstrap ClassLoader.Extension ClassLoader.App ClassLoader,分别各司其职: Bootstrap ...
- Android Studio 2.2的新鲜事
转载:http://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652039482&idx=1&sn=9aa9b204af34 ...
- Redis的发布订阅
是什么: 进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 订阅/发布消息图 先订阅后发布后才能收到消息 1.可以一次性订阅多个,SUBSCRIBE c1 c2 c3 2 ...
- Matlab中fsolve传递系数变量
比如AX= b,求解x,但是要找不同b下的x,100个b. fsolve(‘fun,[X0,b])这样是不行的,因为这样的话b也当成了变量,也会变. 两种方法 1.全局变量 global b;多个的话 ...
- 自动完成--autoComplete插件(2)
远端的也可以成为本地的数据 4) lookupLimit 类型:数字 说明:本地数据显示的最大条数,服务器段的没有效果,服务器端的可以后台设置 默认:没有限制 5) lookupFilter 类型: ...
- 【poj3263】 Tallest Cow
http://poj.org/problem?id=3263 (题目链接) 题意 n头奶牛排成一排,最高的一头I身高H,给出R个条件(a,b),表示a,b之间的奶牛都要比a矮,b的身高大于等于a.求每 ...
- VS2010 asp.net development server 无法展示svg图片
无解!只能使用IIS Express或者部署到服务器上的IIS能解决! 以下为解释: http://stackoverflow.com/questions/5981309/asp-net-develo ...
- How to Prevent Cross-Site Scripting Attacks
How to Prevent Cross-Site Scripting Attacks Reference From: http://resources.infosecinstitute.com/ho ...
- bash的变量设置
1. myname=zhangsan //设置变量 2. echo $myname //显示变量 或者:echo ${myname} 3. myname="my name is $mynam ...
- java编解码技术,netty nio
对于java提供的对象输入输出流ObjectInputStream与ObjectOutputStream,可以直接把java对象作为可存储 的字节数组写入文件,也可以传输到网络上去.对与java开放人 ...