完全检查点及模糊检查点(Full or sync checkpoints and Fuzzy checkpoints)

转自:http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0908zhanggy/index.html

也参考:

http://www-01.ibm.com/support/docview.wss?uid=swg21140289

[@more@]

在版本 Informix 11 之前,Informix 有两种类型的检查点,一种是完全或同步检查点(Full or sync checkpoints),另一种是模糊检查点(Fuzzy checkpoints)。完全或同步检查点会将缓冲池内所有被修改的数据清仓到磁盘上,建立一个数据库服务器的一致点。通常,在发生完全或同步检查点操作时,数据库服务器中的事物被阻塞,直到检查点操作完成。当检查点持续时间很长,会对系统性能造成较大的影响。为了减少检查点对系统性能的影响,从 Informix 9.2 版本开始,Informix 引入了模糊检查点的概念,采用模糊检查点方式,同完全或同步检查点操作一样,将缓冲池内变化的数据清仓到磁盘上,但是,对数据库内置数据类型的 insert,update 及 delete 操作所改变的数据,不会被清仓到磁盘上,这样,每次模糊检查点操作持续的时间会大大减少,从而减少了对系统性能的影响。

当发生下述情况,系统会产生模糊检查点操作:

1、超过检查点间隔设定值,通常这个值在 onconfig 配置文件的 CKPTINTVL 参数中设置。
2、物理日志达到总大小的 75%
3、执行诸如增加数据库空间、增加块(chunk)之类的管理事件
4、执行 onmode -c fuzzy 命令


而当发生下述情况,系统会产生完全或同步检查点操作:

1、当使用 ontape 或 ON-Bar 命令进行备份或恢复操作时
2、当数据库服务器完成快速恢复(fast recovery)或完全恢复(ull recovery)
3、每个逻辑日志空间一个检查点:Informix Dynamic Server 不能覆盖包含当前检查点的逻辑日志,所以它必须在转移到那个逻辑日志之前触发检查点
4、执行 onmode -c 命令
5、执行正常的数据库服务器关闭操作

当发生完全检查点操作或模糊检查点操作时,数据库服务器会执行以下一系列操作:

1、阻塞事务
2、将物理日志缓冲区中的数据清仓到磁盘
3、将缓冲区中被修改的数据清仓到磁盘。如果是模糊检查点操作,informix 页清除线程会将非 inserts, deletes, updates 操作产生的变化数据清仓到磁盘,而由 inserts, deletes, updates 操作产生的变化数据不会被清仓到磁盘上;如果是完全检查点操,informix 页清除线程会将所有变化的数据清仓到磁盘。
4、将检查点完成记录写到逻辑日志缓冲区中,同时,将检查点信息更新到系统的保留页中 (system reserve page) 。
5、将逻辑日志缓冲区中的数据清仓到磁盘上
逻辑上清空物理日志


在 Informix 11 版本之前,不论是完全检查点操作还是模糊检查点操作都会阻塞事务,影响系统性能。因此,用户需要采用各种方法来尽量减少完全检查点操作及模糊检查点操作持续时间。通常,用户会将 LRU 参数调整的非常小,通过持续不断地清仓缓冲池中数据来减少检查点操作的时间。但是,当将 LRU 参数调整的非常小时,会降低写操作的缓冲,耗费大量的 CPU 资源,同时增加了对缓冲池的争用现象,同样也会影响系统 OLTP 的性能。系统优化工作成为一项非常困难的工作。另外,当有大量事务被阻塞时,模糊检查点操作时间是不可预料的,同时,采用模糊检查点操作方式,数据库服务器的故障恢复的时间也变得不可预知。

在 Informix 11 版本之前,检查点操作也会使用户在系统响应时间及系统可恢复性方面产生困惑:如果检查点的间隔短,系统恢复性能好,但会有更多的事务被阻塞;如果检查点的间隔长,更少的事务被阻塞,但系统恢复时间会更长。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22565551/viewspace-1032411/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22565551/viewspace-1032411/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值