mysql 5.6 后热数据的加载
mysql 5.6 后热数据的加载
转自:http://blog.itpub.net/20892230/viewspace-2127469/
故障现象:在数据库重启后,碰巧遇到业务高峰期,连接数满,导致用户登录一直等待,此时数据库处于无响应状态.
故障分析:当数据库重启后,在数据库buffer中的热数据需要innodb本身去预热.如果buffer太大,依靠innodb自己去预热,将会有很长一个周期才能实现.此时热数据就需要到磁盘去寻找,就给磁盘的I/O带来很大的压力.遇到瓶颈,就会一直等待,导致数据无响应.
解决方法:5.6版本之前,重启mysql后,手工把热数据加载到buffer里面去.如:select count(*) from table_name(热数据表);
5.6版本之后,提供了一个新特性来快速预热buffer_pool缓冲池.在my.cnf里面加入几个参数:#innodb_buffer_pool_load_at_startup = on 默认为关闭OFF。如果开启该参数,启动MySQL服务时,MySQL将本地热数据加载到InnoDB缓冲池中。
#innodb_buffer_pool_load_now =off 默认为关闭OFF。以手动方式加载到InnoDB缓存池中。
#innodb_buffer_pool_filename =ib_buffer_pool 如果开启InnoDB预热功能,停止MySQL服务时,MySQL将InnoDB缓冲池中的热数据保存到数据库根目录中,默认文件名ib_buffer_pool.
#innodb_buffer_pool_load_aborr =off 默认为关闭OFF。如果开启该参数,即便开启InnoDB预热功能, MySQL也不会将本地硬盘的热数据加载到InnoDB缓冲池中。
innodb_buffer_pool_dump_at_shutdown=on #5.7.7以后默认就是on,在数据库关闭的时候,将热数据刷新到磁盘
#innodb_buffer_pool_dump_now = off 默认为off,手动将innodb缓冲池中的热数据导出到磁盘;
#innodb_buffer_pool_dump_pct = 40 默认为关闭OFF。如果开启该参数,停止MySQL服务时,InnoDB将InnoDB缓冲池中的热数据的百分比保存到本地硬盘,5.7.6以前是100,5.7.7开始是25,也就是保存缓存中的25%热数据。
特别说明的是innodb_buffer_pool_load_now和innodb_buffer_pool_dump_now这两个参数是可以在命令行直接执行的,直接手工导入导出热数据,可以根据业务环境,自定义执行.如在执行的过程中可以直接执行 innodb_buffer_pool_load_aborr中止;
如: set global innodb_buffer_pool_load_now=1;--直接加载热数据;
set global innodb_buffer_pool_load_aborr=1;---中止加载;
在关闭mysql时,会把内存中的热数据保存在磁盘的ib_buffer_pool文件中,该文件位于数据目录下.
ps:只有正常关闭mysql服务,或者pkill mysql时,才会把热数据导出到磁盘.机器宕机或者pkill -9 mysql,是不会导出的
mysql 5.6 后热数据的加载的更多相关文章
- JS实现-页面数据无限加载
在手机端浏览网页时,经常使用一个功能,当我们浏览京东或者淘宝时,页面滑动到底部,我们看到数据自动加载到列表.之前并不知道这些功能是怎么实现的,于是自己在PC浏览器上模拟实现这样的功能.先看看浏览效果: ...
- 防止ViewPager和Fragment结合使用时候的数据预加载
不知道你们使用ViewPager和Fragment结合的时候发现一个问题没,如果你的每个Fragment都需要请求网络数据,并且你在请求网络数据的时候会加入进度对话框的加载显示效果,当你显示第一个Fr ...
- JPA数据懒加载LAZY配合事务@Transactional使用(三)
上篇博文<JPA数据懒加载LAZY和实时加载EAGER(二)>讲到,如果使用懒加载来调用关联数据,必须要保证主查询session(数据库连接会话)的生命周期没有结束,否则,你是无法抽取到数 ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯JavaScript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
- Unity3d通用工具类之数据配置加载类
今天,我们来讲讲游戏中的数据配置加载. 什么是游戏数据加载呢?一般来说游戏中会有场景地图. 按照国际惯例,先贴一张游戏场景的地图: 在这张地图上,我们可以看到有很多正六边形,正六边形上有树木.岩石等. ...
- Android学习笔记_36_ListView数据异步加载与AsyncTask
一.界面布局文件: 1.加入sdcard写入和网络权限: <!-- 访问internet权限 --> <uses-permission android:name="andr ...
- Java 爬虫遇上数据异步加载,试试这两种办法!
这是 Java 爬虫系列博文的第三篇,在上一篇 Java 爬虫遇到需要登录的网站,该怎么办? 中,我们简单的讲解了爬虫时遇到登录问题的解决办法,在这篇文章中我们一起来聊一聊爬虫时遇到数据异步加载的问题 ...
- EF如何操作内存中的数据以及加载相关联表的数据:延迟加载、贪婪加载、显示加载
之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库.老版本的EF主要是通过Ob ...
- 省市数据递归加载到TreeView
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
随机推荐
- poj 2376 Cleaning Shifts 贪心 区间问题
<pre name="code" class="html"> Cleaning Shifts Time Limit: 1000MS Memory ...
- 项目部署中,tomcat报java.lang.OutOfMemoryError: PermGen space
原因: PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader ...
- MessageListenerAdapter--消息监听适配器
我们把之前的消息监听代码注释,可以不用直接加消息监听,而是采用MessageListenerAdapter的方式,我们来学习下如何使用默认的handleMessage,自定义方法名,自定义转换器. 适 ...
- JavaWeb_(Hibernate框架)Hibernate中重要的api
Hibernate中重要的api Configuration SessionFactory Session(重点) Transaction 在Dao层中UserDao.java使用Hibernate向 ...
- 2.1 MATLAB的数据类型
2.1 MATLAB的数据类型 每种数据类型都是以矩阵的形式存在的 数据类型:数值型.字符型.元胞型.结构体.函数句柄 数值型包含:双精度类型.单精度类型.整型 支持不同数据的转换 2.1.1 变量与 ...
- 测试linux服务器是否能接入微信
官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 php.代码 <?php $a = $_GE ...
- VNC连接Ubuntu 16.04桌面灰色的问题解决
1.安装gnome apt-get install --no-install-recommends ubuntu-desktop gnome-panel gnome-settings-daem ...
- -webkit-scrollbar 的使用,滚动条的隐藏
滚动条的隐藏 -webkit-scrollbar 是一个伪类选择器 设置滚动条的样式 例如滚动条的隐藏 元素::-webkit-scrollbar{ width:0; }
- SQL Server 数据库设计、命名、编码规范
https://blog.csdn.net/songguozhi/article/details/5858159 SQL Server 数据库设计.命名.编码规范
- PLSQL报错: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
一开始吓尿了,以为自己动着什么东西了把数据库玩坏了,谁知道打开服务发现服务没启动........... 我们要确保数据库服务是启动状态