欢迎来到天天文库
浏览记录
ID:37496483
大小:1.87 MB
页数:68页
时间:2019-05-12
《深入解析MySQL检查点》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深入解析Mysql检查点搜狐畅游DBA王洪权mydbalife@gmail.com2011-07-06summarryMysqllogfileMysql检查点Mysqldoublewrite基本操作基本操作基本操作基本操作基本操作基本操作基本操作基本操作.为什么要采取异步刷新Why?为什么要采取异步刷新1Thisisanoptimization2Itcallitwritecombining关于log工作原理http://www.orczhou.com/index.php/2009/08/innodb-dirty-page-redo-
2、log-2/innodb_flush_log_at_trx_commitLogbuffer设置建议mysqladminvar
3、greplog_bufferinnodb_log_buffer_size
4、8388608通常设置范围8~16M通常8M比较合适,除非有很多blob/text字段操作,或大事务操作。Logbuffer设置showglobalstatuslike'%Innodb_log_waits%';+------------------+-------+
5、Variable_name
6、Value
7、+--------------
8、----+-------+
9、Innodb_log_waits
10、0
11、+------------------+-------+Innodb_log_waitsThenumberoftimesthatthelogbufferwastoosmallandawaitwasrequiredforittobeflushedbeforecontinuing.innodb_log_file_size关于innodb_log_file_size大小设置如何找到最佳的均衡点呢?http://www.mysqlperformanceblog.com/200
12、6/07/03/choosing-proper-innodb_log_file_size/http://www.mysqlperformanceblog.com/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/innodb_log_file_sizeinnodb_log_file_size设置大概7M每分钟,那么一个小时是多少呢,7*60=420M,所以单个logfile大小256M大小足够。2008ByBaronSchwartzhttp://www.mysqlper
13、formanceblog.com/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/innodb_log_file_size设置修改innodb_log_file_size1干净的关闭数据库,删除日志文件,修改my.cnf中innodb_log_file_size,重启mysql2干净的关闭数据库,rename日志文件,修改my.cnf中innodb_log_file_size,重启mysqlLog写入LSN实际上对应日志文件的偏移量,新的LSN=旧的LSN+写入的日志大
14、小。举例如下:LSN=1G,日志文件大小总共为600M,本次写入512字节,则实际写入操作为:l求出偏移量:由于LSN数值远大于日志文件大小,因此通过取余方式,得到偏移量为400M;写入日志:找到偏移400M的位置,写入512字节日志内容,下一个事务的LSN就是1000000512;Innodb日志机制深入分析Innodb日志机制深入分析Checkpoint写入Innodb实现了FuzzyCheckpoint的机制,每次取到最老的脏页,然后确保此脏页对应的LSN之前的LSN都已经写入日志文件,再将此脏页的LSN作为Checkpoin
15、t点记录到日志文件,意思就是“此LSN之前的LSN对应的日志和数据都已经写入磁盘文件”。恢复数据文件的时候,Innodb扫描日志文件,当发现LSN小于Checkpoint对应的LSN,就认为恢复已经完成。Checkpoint写入的位置在日志文件开头固定的偏移量处,即每次写Checkpoint都覆盖之前的Checkpoint信息。Innodb日志机制深入分析管理机制Checkpoint和日志紧密相关,将日志和Checkpoint一起说明,详细的实现机制如下:Innodb日志机制深入分析如上图所示,Innodb的一条事务日志共经历4个阶
16、段:创建阶段:事务创建一条日志;日志刷盘:日志写入到磁盘上的日志文件;数据刷盘:日志对应的脏页数据写入到磁盘上的数据文件;写CKP:日志被当作Checkpoint写入日志文件;Innodb日志机制深入分析对应这4个阶段,系统记录了4个
此文档下载收益归作者所有