当前位置: 首页 > news >正文

mysql负载突然飙升_mysql负载飙高原因分析

某些进程/服务消耗更多CPU资源(服务响应更多请求或存在某些应用瓶颈);

发生比较严重的swap(可用物理内存不足);

发生比较严重的中断(因为SSD或网络的原因发生中断);

磁盘I/O比较慢(会导致CPU一直等待磁盘I/O请求);

绝对不要因表数据量小,sql语句随便写都行,随便join都不会出现性能瓶颈,决不能有这

种思想。

尽量避免join表 join表笛卡尔积

如果要join表一定要把where条件写全,安全起见最好加个limit。

一次请求读写的数据量太大,导致磁盘I/O读写值较大,例如一个SQL里要读取或更新几万>行数据甚至更多,这种最好是想办法减少一次读写的数据量;

SQL查询中没有适当的索引可以用来完成条件过滤、排序(ORDER BY)、分组(GROUP BY)

、数据聚合(MIN/MAX/COUNT/AVG等),添加索引或者进行SQL改写吧;

瞬间突发有大量请求,这种一般只要能扛过峰值就好,保险起见还是要适当提高服务器的>配置,万一峰值抗不过去就可能发生雪崩效应;

因为某些定时任务引起的负载升高,比如做数据统计分析和备份,这种对CPU、内存、磁盘

I/O消耗都很大,最好放在独立的slave服务器上执行;

服务器自身的节能策略发现负载较低时会让CPU降频,当发现负载升高时再自动升频,但通

常不是那么及时,结果导致CPU性能不足,抗不过突发的请求;

使用raid卡的时候,通常配备BBU(cache模块的备用电池),早期一般采用锂电池技术,>需要定期充放电(DELL服务器90天一次,IBM是30天),我们可以通过监控在下一次充放电

的时间前在业务低谷时提前对其进行放电,不过新一代服务器大多采用电容式电池,也就>不存在这个问题了。

文件系统采用ext4甚至ext3,而不是xfs,在高I/O压力时,很可能导致%util已经跑到100%了,但iops却无法再提升,换成xfs一般可获得大幅提升;

内核的io scheduler策略采用cfq而非deadline或noop,可以在线直接调整,也可获得大幅

提升。

原文:http://www.cnblogs.com/mikeluwen/p/7777454.html

相关文章:

  • CA系统mysql_MySQL性能优化
  • linux下安装mysql5.5_Linux下安装mysql5.5.19
  • mysql ignore oracle_Oracle impdp的ignore及 fromuser / touser 功能
  • mysql监控命令_MySQL数据库维护中监控所用到的常用命令
  • python windows api移动窗口_Python使用Windows API创建窗口示例【基于win32gui模块】
  • vue 列表内容自动向上滚动_vue 新闻列表滚动效果
  • java 清空文件夹_java 删除文件夹中的所有文件及文件夹
  • java sqlserver 2000_java数据库基本操作(sqlserver 2000为例)
  • java 按字节读入_Java按字节读取文件
  • idea java 注释模板_IDEA添加Java类注释模版的方法
  • java中数组问题_java中数组的数组问题
  • Java中implies_Java FilePermission.implies(Permission p)示例
  • java8 计算时间差_java8-计算时间差的方法
  • java 编写shuffle方法_在java中为播放列表创建一个shuffle方法
  • java call by value_Java的call by value和call by reference的详细介绍
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • css选择器
  • DOM的那些事
  • HashMap ConcurrentHashMap
  • markdown编辑器简评
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • spark本地环境的搭建到运行第一个spark程序
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Webpack 4x 之路 ( 四 )
  • 高程读书笔记 第六章 面向对象程序设计
  • 构造函数(constructor)与原型链(prototype)关系
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 进程与线程(三)——进程/线程间通信
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • #if和#ifdef区别
  • #pragma data_seg 共享数据区(转)
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (2)STL算法之元素计数
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (算法)Travel Information Center
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • **CI中自动类加载的用法总结
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET 4.0中的泛型协变和反变
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net 怎么循环得到数组里的值_关于js数组
  • .net专家(张羿专栏)
  • @Bean注解详解
  • @javax.ws.rs Webservice注解
  • [ C++ ] 继承
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [1204 寻找子串位置] 解题报告
  • [2669]2-2 Time类的定义