原文学习地址:http://blog.itpub.net/22664653/viewspace-1262635/
一般导致MySQL服务器load飙高的原因可能有以下几种情况:
1 业务并发调用全表扫描/带有order by 排序的SQL语句.
2 SQL语句没有合适索引/执行计划出错/update/delete where扫描全表,阻塞其他访问相同表的sql执行.
3 存在秒杀类似的业务比如聚划算10点开团或者双十一秒杀,瞬时海量访问给数据库带来冲击。
4 数据库做逻辑备份(需要全表扫描)或者多实例的压缩备份(压缩时需要大量的cpu计算,会导致系统服务器load飙高)
5 磁盘写入方式改变 比如有writeback 变为 write through
RAID卡都有写cache(Battery Backed Write Cache),写cache对IO性能的提升非常明显,因为掉电会丢失数据,所以必须由电池提供支持。
电池会定期充放电,一般为90天左右,当发现电量低于某个阀值时,会将写cache策略从writeback置为writethrough,相当于写cache会失效,这时如果系统有大量的IO操作,可能会明显感觉到IO响 应速度变慢,cpu 队列堆积系统load 飙高。
1 top -u mysql -c 检查当前占用cpu资源最多的进程命令。-c 是为了显示出进程对应的执行命令语句,方便查看是什么操作导致系统load飙高。
2 根据不同的情况获取pid 或者MySQL的端口号
3 如果是MySQL 数据库服务导致laod 飙高,则可以使用如下命令
show processlist;
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND <> 'sleep' AND TIME>100;
4 获取异常的sql之后,剩下的比较好解决了。结合第一部分中的几条原因
a 选择合适的索引
b 调整sql 语句 比如对应order by 分页采用延迟关联
c 业务层面增加缓存,减少对数据库的直接访问等
相关推荐
Linux内核分析:页回收导致的cpu load瞬间飙高的问题分析与思考.pdf
dump文件load后数据库访问不了解决办法
数据库维护、建立账户、用户授权、数据导入导出、数等案例截图操作等等共18页这里很多是用命令操作的,有详细步骤和命令、截图。适合小白。
Unalbe to load DLL:由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。(Exception from HRESULT:0x800736B1). 解决思路。
数据库系统概念6版,示例数据库的表结构(sql文件),示例数据(txt)。在MySQL5.6下创建成功,示例符合MySQL数据导入格式,可直接使用LOAD DATA方式直接导入。不知道一次能不能把全部的数据导入?待学习。
mysql调优; mysql服务器LOAD突然飙高,可能的5种情况, 以及解决办法;
这个是参考许多相关的系统弄出来的,里面还有我找得资料。 首先把JAVA代码文件夹里面的JAVA代码导进JAVA里面,然后把Data文件夹里面的数据库也导进自己的数据库里面(注:我的数据库是SQL2008),紧接着设置数据库源,...
学习PB与SQL Server数据库的连接
介绍fancybox与lazyload结合使用产生的问题解决思路 。。。
解决VirtualBox启动Unable to load R3 module问题,解决无法启动Android模拟器。
pyzbar库生成EXE,PyInstallerImportError: Failed to load dynlib/dll问题解决方法附源码
jmeter连接数据库Cannot load JDBC driver class ‘com.mysql.jdbc.Driver解决办法-附件资源
Foxhis酒店管理系统备份及其恢复方法 同服务器之间两个数据库(foxhis与nfoxhis)的转换操作步骤: 1. 在工作站点上,点击"运行",输入telnet 150.0.1.110(主服务器的IP地址) 2. login: sybase,密码sybase 3. $ cd ...
Firebird 是一个跨平台的,功能齐全,而体积极小,并且免维护的开源关系数据库系统,目前能够运行在 Windows、linux 和各种 Unix 操作系统上,提供了大部分 SQL-99 标准的功能。它既能作为多用户环境下的数据库...
1,账户/密码:admin 2,数据库地址配置在load.cs中 3,数据库文件之DB文件夹 使用方法:附加数据库,修改数据库连接文件,打开sln文件运行即可。 适用于课程设计或者毕业设计参考。
vbsedit Failed to load pdm.dll解决办法. 带有详细的使用说明 安装 vbsedit 运行时 来提示vbsedit Failed to load pdm.dll 千辛万苦找到的 很好用的解决办法
pb连接SQLSERVER2005,提示如下错误:Unable to load the requested Database interface.Please make sure both the interface and client software are properly installed. 解决办法:下载ntwdblib.dll然后将其copy...
网上关于Python安装Opencv总是出现DLL Load Filed问题的解决方法,本人亲测无法解决问题,于是探索了一种新的解决方法,先对所有现存方法以及本人方法进行汇总,希望对大家有所帮助: 网上现存的几种问题与解决方法...
一般来讲,集群软件根据侧重的方向和试图解决的问题,分为三大类:高性能集群(High performance cluster,HPC)、负载均衡集群(Load balance cluster, LBC),高可用性集群(High availability cluster,HAC)。...