`
cfyme
  • 浏览: 275117 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

数据库系统load飙高问题解决思路之学习

 
阅读更多

原文学习地址: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

    Linux内核分析是系统开发和维护中非常重要的一部分,本文将讨论Linux内核在页回收时出现的cpu load瞬间飙高的问题,并探讨可能的原因和解决方案。 页回收是操作系统中非常重要的一部分,它是操作系统管理物理内存的...

    数据库系统概念表SQL数据

    通过实践这些实验数据,你可以深化对数据库系统和SQL的理解,提高解决实际问题的能力。同时,表关系图的使用也能培养你的数据建模能力,这对于设计高效、稳定且易于维护的数据库系统至关重要。因此,充分利用这些...

    mysql实验训练4-数据库系统维护.docx

    MySQL 数据库系统维护 MySQL 数据库系统维护是指数据库管理员对数据库的日常维护和管理,包括用户管理、权限管理、数据库备份与恢复、数据导入导出等操作。以下是相关知识点: 一、数据库安全性 * 用户管理:创建...

    dump文件load后数据库访问不了解决办法

    ### dump文件load后数据库访问不了解决办法 在数据库管理与维护的过程中,经常需要对数据库进行备份与恢复操作。...如果以上步骤都无法解决问题,建议咨询专业的数据库管理员或技术支持团队进行进一步诊断和处理。

    历年数据库系统工程师试题

    数据库系统工程师是信息技术领域中的一个重要...通过历年数据库系统工程师试题的学习和练习,考生可以全面了解和掌握数据库领域的核心知识,提高在实际工作中解决复杂问题的能力,从而更好地应对软考并顺利取得证书。

    数据库mysql学习文档【三本书】

    MySQL是一种广泛使用的开源...不仅可以掌握SQL语法和数据库管理,还能学会如何在实际工作中有效地运用MySQL,提升数据库系统的效率和稳定性。无论是个人兴趣还是职业发展,这些资料都将为读者的MySQL技能树添砖加瓦。

    MySQL里load data遇到的问题及解决方法

    MySQL 是一个关系数据库管理系统,load data 是 MySQL 中的一种数据导入方法,它可以将文本文件中的数据导入到 MySQL 数据库中。但是,在使用 load data 时,可能会遇到一些问题,本文将讨论这些问题和解决方法。 ...

    Powerbuilder 8.0数据库系统开发实例导航

    《Powerbuilder 8.0数据库系统开发实例导航》是一本专为开发者设计的指南,它深入浅出地介绍了如何利用Powerbuilder 8.0这一强大的数据库应用开发工具进行实际项目开发。Powerbuilder 8.0是Sybase公司推出的一款可视...

    Unalbe to load DLL 不能加载dll解决思路

    Unalbe to load DLL:由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。(Exception from HRESULT:0x800736B1). 解决思路。

    MySQL数据库入门到高级笔记快速学习pdf版本

    MySQL数据库是世界上最受欢迎的关系型数据库管理系统之一,广泛应用于各种规模的企业和项目中。这份"MySQL数据库入门到高级笔记快速学习pdf版本"提供了从基础到高级的全面教程,适合不同水平的学习者。以下将详细...

    mysql调优文档以及load飙升5中情况

    针对LOAD飙高的解决方案,首先使用`SHOW PROCESSLIST`或`SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND &lt;&gt; ‘sleep’ AND TIME&gt;100`来识别问题SQL。然后分析执行计划,如果有必要,与应用负责人沟通...

    数据库 仓库管理系统

    一、数据库系统 1. 数据库概念:数据库是一个结构化的数据集合,它可以是关系型的(如MySQL、Oracle)、非关系型的(如MongoDB、Cassandra)或其他类型。在仓库管理系统中,通常使用关系型数据库,如SQL Server、...

    数据库系统概念-6版-示例数据库表结构及数据

    数据库系统概念6版,示例数据库的表结构(sql文件),示例数据(txt)。在MySQL5.6下创建成功,示例符合MySQL数据导入格式,可直接使用LOAD DATA方式直接导入。不知道一次能不能把全部的数据导入?待学习。

    (1) DBMS的含义是: A) 数据库系统 B) 数据库管理系统 C) 数据库管理员 ..doc

    DBMS(Database Management System)是数据库管理系统的缩写,指的是一种软件系统,用于管理和维护数据库。DBMS 提供了对数据库的创建、修改、查询和删除等操作,并且提供了对数据的安全、完整性和一致性的检查。 ...

    报表部署数据库常见问题解析

    - **解决**:最终确定问题的根本原因,并采取相应的措施来解决问题。 #### 五、具体案例分析 ##### 案例一:数据库环境配置错误 **问题现象**: ``` 产生数据工厂:com.runqian.report4.dataset.SQLDataSetFactory...

    基于C#的外卖订餐系统(源码+数据库).zip

    数据库是任何信息系统的核心,本系统中的数据库配置位于`load.cs`文件中。开发者需要根据实际环境调整数据库连接字符串,确保程序能正确连接到数据库。数据库文件通常存储在名为"DB"的文件夹内,这可能包含`.mdf`...

    数据库系统工程师历年真题

    通过对这些知识点的掌握,考生可以更好地理解和解答数据库系统工程师真题中的各种问题,无论是理论知识还是实践应用,都能有扎实的基础。备考过程中,除了研读真题和模拟题,还应关注实际工作中的案例,以提升自己的...

    数据库应用与设计-大型数据库系统架构设计方法.ppt

    在大型数据库系统应用设计中,主要关注的是系统的可扩展性、高可用性和负载均衡。这三大要素是构建高效、稳定、可靠数据库架构的基础。 1. 可扩展性(Scalability) 可扩展性是指数据库系统能够随着用户量和业务...

Global site tag (gtag.js) - Google Analytics