常见参数

Innodb_buffer_pool_pages_free

发现 Innodb_buffer_pool_pages_free 为0 ,则说明buffer_pool 已经被用光,需要增大 innodb_buffer_pool_size

Innodb_buffer_pool_wait_free

写入Innodb 缓冲池通常在后台运行,但有必要在没有干净的时候读取或创建页,有必要先等待页被刷新.

Innodb的IO 线程从数据文件中读取了数据要写入buffer_pool 的时候,需要等待空闲页的次数.单位是次

 innodb_io_capacity

在5.1.X 版本中,最多只会刷新100个脏页到磁盘,合并20个插入缓冲,即使磁盘有能力处理更多的请求,

只能会处理这么多,这样在更新量较大的时候,脏页刷新就可能跟不上,导致性能下降

5.5.X 版本里 innodb_io_capacity 参数可以动态调整刷新脏页的数量,这在一定程度上解决了这一问题:

innodb_io_capacity 默认值是 200 ,单位是页,该参数的设置大小取决于硬盘的IOPS,即每秒的读写次数

可以动态调整参数:set global innodb_io_capacity=2000;

磁盘配置与innodb_io_capacity 参数值

innodb_io_capacity 磁盘配置

200 单盘SAS/SATA
2000 SAS*12 RAID 10
5000   SSD
50000   FUSION_IO

innodb_io_capacity_max

innodb_io_capacity 和 innodb_io_capacity_max 这些设置会影响Innodb每秒在后台执行多少操作

大多数写IO (除了写Innodb日志)是后台操作的.如果你深度了解硬件性能(比如每秒可以执行多少次IO操作)

则使用这些功能是很可取的,而不是让它闲着.

有一个很简单的计算:如果每个磁盘每秒读写IOPS 可以达到200次,则拥有10个磁盘的RAID10 磁盘

阵列. IOPS理论上=(10/2)*200 =1000 是因为RAID 控制器通常能够提供额外的合并,并有效提高

IOPS能力.对于SSD磁盘,IOPS可以轻松达到好几千

将这两个值设置太大可能会存在某些风险,你肯定不希望后台操作妨碍了前台任务IO操作的性能,

过去的经验表明,将这两个值设置太高,innodb 持有的内部锁会导致性能降低(5.6得到了很大改进)

innodb_lru_scan_depth 默认值为1024 (mysql5.7是4000) 这是mysq5.6的新选项

提供一些配置建议,简单来说 如果增大了 innodb_io_capacity 值,应该同时增加 innodb_lru_scan_depth

sync_binlog

表示每次刷新binlog到磁盘的数目

Innodb_log_waits

Innodb_log_waits 状态变量,如果不是0,增加innodb_log_buffer_size

innodb_purge_threads=1

Innodb中的清除操作是一类定期回收无用数据的操作,在之前的几个版本中,清除操作是主线程的

一部分,这意味着运行时它可能会堵塞其他数据库操作

innodb_log_file_size

redo日志的大小,redo日志被用于确保写操作快速而可靠并且在崩溃时恢复.一直到MySQL5.1

它都难于调整,因为一方面你想让它更大的提高性能,另一方面你想让它更小来使得崩溃后更快恢复

辛运的是从MySQL5.5 以后,崩溃恢复的性能得到了很大提升,这样你就可以同时拥有较高的写入性能和崩溃

恢复性能了.一直到MySQL5.5。redo日志的总尺寸被限定在4GB (默认可以有2个log文件)在MySQL5.6里被提高

innodb_log_buffer_size

决定了为尚未执行的事务分配的缓存.默认值(1MB) 一般来说已经够用了,但是如果你的事务中包含

有二进制大对象或者大文本字段的话,这点缓存很快就会被填满并触发额外的 I/O操作

查看Innodb_log_waits 状态变量,如果不是0,增加innodb_log_buffer_size

InnoDB global status的更多相关文章

  1. Mysql命令show global status求根溯源

    近来,发现好多公司对mysql的性能监控是通过show global status实现的,因此对于这个命令想要探究一番,看他是否是实时更新的. 在此之前,我们必须搞明白mysql对于这个命令的执行过程 ...

  2. Show Global Status 整理

    原文来源:MySQL 5.5 Reference Manual 部分翻译取自:<MySQL_5.1中文参考手册> 转载请注明原文链接http://www.cnblogs.com/lenag ...

  3. mysql状态分析之show global status(转)

    mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一.慢查询mysql> sh ...

  4. show global status和show variables mysql 优化

    mysql> show global status; 可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%'; 一.慢查询 mysql> ...

  5. mysql状态分析之show global status

    这里整理下mysql global status的相关命令,在计算监控数据的时候需要用到 一.慢查询 show variables like '%slow%'; +------------------ ...

  6. MySQL - Show Global Status 整理

    2019独角兽企业重金招聘Python工程师标准>>> MySQL - Show Global Status 整理 原文来源:MySQL 5.5 Reference Manual 部 ...

  7. mysql的show status和show global status区别在哪

    show status                   本次会话的参数状态show global status        本次MYSQL服务开启(或重置)到现在总请求数

  8. InnoDB Monitors | SHOW ENGINE INNODB STATUS

    参考 <mysql 5.7手册>,15.17章节 InnoDB监视器提供有关InnoDB内部状态的信息. 这些信息对于性能调优非常有用.其实所谓的监视器,就是 show engine in ...

  9. show engine innodb status\G

    mysql> show engine innodb status\G *************************** 1. row *************************** ...

随机推荐

  1. Javascript基础五(BOM和DOM)

    1.BOM概念 什么是BOM?         BOM是Browser Object Model的缩写,简称浏览器对象模型.这个对象就是window         BOM提供了独立于内容而与浏览器窗 ...

  2. linux c 链接详解1-多目标文件链接

    1. 多目标文件的链接 摘自:linux c编程一站式学习 http://learn.akae.cn/media/index.html 可以学会在linux下将多个c语言文件一起编译. 现在我们把例  ...

  3. vscode 常用的插件

    这些是本人在使用vscode中用的比较爽的插件,个人爱好习惯不同,请按需拿取.先声明本人是一个前端,所用的,插件都是和前端匹配的,后台的同学可以不用浪费时间了 基础插件 chinese 英文是所有读书 ...

  4. 快速加载testNG 的方法

    总共两步 首先建包建类建函数,这个是所有项目共同特点,不多少 1.在程序里写@Test,然后就会报错,光标放到那,然后就会有Add TestNG library的提示,点击就会将TestNG的libr ...

  5. double中首字母大写与小写的区别

    Double 是类 double是基础数据类型.Double类型是double的包装类.Double 和double之间的相互转化称为自动拆箱和自动装箱.如果从对象角度理解,那么Double就是对象, ...

  6. mac 安装Navicat_Premium 破解版带汉化

    因为近期要用mongodb,本想着下载一个Navicat for mongodb 但是一直没有给力带帖子,所以就靠着百度自己找,功夫不负有心人. 下面附上百度网盘,里面有一个txt文档,在安装前一定要 ...

  7. js动态添加的元素绑定事件

    最近做的项目要实现一个动态添加动态删除的功能,思考了一下,该怎么给动态添加的元素绑定事件.最后觉得有两种方式比较可靠,第一种是在动态添加的html代码里添加oclick事件,然后给传个唯一的参数来判断 ...

  8. Android中通过反射获取资源Id(特别用在自己定义一个工具将其打成.jar包时,特别注意资源的获取)

    在将自己写的工具打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射机制动态的获取资源. /** * 反射得到组件的id号 */ public static ...

  9. Network基础(二):数制转换

    一.数制转换 目标: 1)请将下列数字转换为十进制数: (110010011111)2 .(10110101110)2 2)请将下列十进制数转换为二进制: 156.2608.1043 方案: 使用按权 ...

  10. (转)Android Studio启动AVD遇到的问题 ( HAXM安装失败)

    转:https://zhidao.baidu.com/question/561420516357269084.html?qq-pf-to=pcqq.c2c Android Studio启动虚拟机的时候 ...