zoukankan      html  css  js  c++  java
  • Informix IDS 11系统经管(918测验)认证指南,第 4 局部: 功效调优(8)

    查抄点

    概述

    Dynamic Server 措置奖惩共享内存中的通盘工作,并尽可以久地在共享内存中生计页面。这特别很是有用。思索一个索引页面。假定某个人将一些行拔出到页面中。假如不在共享内存中生计页面,那么每当必要修改这个索引页面时,都存在读取页面、修改页面和将它写出到磁盘所惹起的格外开支。这可以必方法取很高的价格。

    可是,在某些时辰,数据库效能器必需将页面写回到磁盘,由于必要为其他页面腾出空间。并且,必要思索规复的标题问题。

    假如引擎突然溃逃,通盘工作都来不及清洁地提交或回滚,那么必需采用步履使效能器规复到对等状况。

    疾速规复有两局部:

    1. 物理规复
    2. 逻辑规复


    物理规复

    物理规复将通盘页面的原像前往到磁盘。原像是页面在被修改之前的镜像。

    逻辑规复

    逻辑规复是指前滚比来查抄点中的通盘事件。通盘被提交的事件将被完整地重放。可是没有被提交的事件将被回滚。

    查抄点

    查抄点可以描画为磁盘与共享内存之间的一个同步点。在阿谁同步点,数据库效能器有一个已知的对等点。在一个查抄点时代,通盘缓冲区都被刷新到磁盘,使它们被不乱地存储在磁盘上。数据库效能器并不是在每个事件完成后立刻将事件存储到磁盘,而是将事件存储在逻辑日记缓冲区中。

    取决于哄骗什么类型的事件日记(有缓冲仍是无缓冲),逻辑日记缓冲区被周期性地刷新到逻辑日记。

    当产生查抄点时,一个查抄点记录也将被记录到逻辑日记中。 这被记录在备用页面中。在规复时代,从备用页面中发明比来的查抄点,以便从这个查抄点初阶规复。









    无梗阻查抄点

    取决于物理日记缓冲区大小、缓冲池大小以及有若干好多脏缓冲区等要素,查抄点可以必要一些时间完成。在 V11 之前,查抄点将梗阻任何线程进入所谓的环节代码段。环节代码段是指必需一次完成的代码,歧写一个页面。这一点无意偶尔辰会哄骗户运用递次在查抄点上等候。

    在 Informix Dynamic Server V11 中,这种旧的算法已经被改写。新算法据说理想上诟谇梗阻的。这意味着在查抄点时代数据库效能器面前目今当今答应其他线程工作。

    数据库效能器监督资源哄骗情况,并与从前的查抄点功效比力。必要时,效能器将更频仍地触发查抄点,以避免用完环节资源,歧物理日记。这样一来,效能器可以确保在查抄点措置奖惩时代其他线程和客户机运用递次不会被梗阻。

    Informix Dynamic Server V9 中引入的恍惚查抄点(fuzzy checkpoint)已经被坚持。

    用于非梗阻查抄点的 LRU 调优

    在 V11 之前,数据库经管员稀有的做法是将 LRU 刷新调得更积极,以便不竭地架空 LRU。因而,查抄点将更快地完成,由于要做的工作更少了,同时这也增添了其他线程等候查抄点完成所需的时间。

    可是,在 V11 中,不用将 LRU 刷新调得如斯积极。在查抄点时代事件措置奖惩不会被梗阻。将 LRU 刷新调得缓一些,可从行进事件功效。在 V11 上,经过议定放缓 LRU 刷新可以理解理睬行进功效。

    查抄点会一时梗阻措置奖惩的处所

    由于查抄点面前目今当今诟谇梗阻的,在一个查抄点事件时代,它们依然会将信息写到逻辑日记,而原像页面依然放在物理日记中。在一个查抄点时代,引擎可以碰着以下几种情况:

    • 物理日记满了 75%。
    • 一个查抄点被记录到逻辑日记中。逻辑日记空间中必需有一个用于疾速规复的规复点。

    这种情况下,查抄点将一时地梗阻,以确保所需的资源可用。

    假如物理日记满了 75%,则查抄点将梗阻,以确保物理日记不会溢出。物理日记是一个轮回文件,以是在物理规复中哄骗阿谁文件时,应确保引擎知道起点和尽头在何处。

    以后算法确保至多有一个查抄点被写到日记中。

    为非梗阻查抄点设置引擎

    为了避免查抄点梗阻事件措置奖惩,必要:

    • 翻开自动查抄点特征。更频仍的查抄点将产生。这可以避免由于短少资源而产生梗阻。
    • 增添物理日记或逻辑日记的大小。效能器将在在线日记中放置一条往事,发起增添哪种资源,以及它的大小应该是若干好多。











    设置系统以失失落最佳查抄点继承时间

    Recovery Time Objective (RTO) 战略

    Informix Dynamic Server V11 引入了设置参数 RTO_SERVER_RESTART

    该参数指定命据库效能器将实行完陈规复并回到联机或静态形式的秒数。假如呈现了溃逃,必要使效能器回到联机形式,那么这个参数就很容易。

    在逻辑重放的进程中,必需措置奖惩每个日记记录。在此措置奖惩中,必需从磁盘读取页面。这种 I/O 会大大飞扬日记重放的功效。假如不知道疾速规复的逻辑局部必要若干好多 I/O,就难于判定规复必要多长时间。

    为了完成这个目的,并在划定的秒数内变得可用, Informix Dynamic Server 必需经管疾速规复时代产生的 I/O 量。谓词,当设置 RTO_SERVER_RESTART 时,Informix Dynamic Server 把持物理日记以保管它以为在逻辑规复中要用到的附加前像(before-image)。

    在疾速规复的物理局部,缓冲池将自动装入从比来查抄点前滚逻辑日记所需的数据页。这里不用从磁盘读页面,由于它已经在内存中,可以直接哄骗。

    当引擎联机时,必要翻开 RTO_SERVER_RESTART,以便标识表记标帜那些页面,使它们在疾速规复中被填充到缓冲池中。只要在再轮回之后这个好处才会完成。

    启用 RTO_SERVER_RESTART 之后,数据库效能器:

    • 经过议定更频仍地触发查抄点确保自动查抄点没有用完环节资源(歧逻辑空间)而梗阻
    • 纰漏设置参数CKPTINTVL
    • 自动调解排遣 AIO 编造措置奖惩器和整理线程的数量
    • 自动调优 LRU 刷新,以采用增添的查抄点

    可是,启用 RTO_SERVER_RESTART 也有一些欠好的处所:

    • 存储用于逻辑规复的页面会增添物理日记举止 -- 这可以影响事件的功效
    • 增添查抄点的频率 -- 可以经过议定增添物理日记的大小以懈弛这一点

    起码情况下,总的逻辑空间只需大到能够包罗两个查抄点周期的通盘事件。假如启用了 RTO_SERVER_RESTART,并且效能器有一个小于 4GB 的组合缓冲池,那么总的日记空间发起为组合缓冲池大小的 110%。

    默许情况下,RTO_SERVER_RESTART 被禁用。该设置参数的取值局限如表 10 所示:

    表 10. RTO_SERVER_RESTART 设置参数的值
    RTO_SERVER_RESTART 设置 取值局限
    Off 0
    On 60-1800


    可以经过议定手动所在窜设置文件或许哄骗 onmode -wf RTO_SERVER_RESTART 以革新 RTO_SERVER_RESTART 设置参数。

    RTO_SERVER_RESTART 的新值在数据库效能器避免并从新启动之后失效。

    物理日记大小

    在 IDS V11 中,恍惚查抄点已经被弃用。因而,新的查抄点算法必要更多的物理日记举止。而为 Informix Dynamic Server V7 设置的运用递次在物理日记记录举止频率方面革新不大,或许没有革新。在 V9 上运转的运用递次的物理日记记录有所增添。假如启用了 RTO_SERVER_RESTART,那么也会增添物理日记记录举止。

    较大的物理日记不会影响功效。但凡,稀有的 1GB 到 4GB 的物理日记就足够了。

    Informix Dynamic Server V11.10 的一个新特征是可以哄骗 onparams 适用递次,在不必要静态形式或许从新启动系统的情况下革新物理日记的大小、地位或许同时革新这两项。

    LOGSIZE 和 LOGFILES

    查抄点直接地受 LOGSIZELOGFILES 设置参数的影响。当查抄一个逻辑日记文件以判定可否可以开释它时,会查抄它可否包罗比来的查抄点。在开释一个逻辑日记文件之前,数据库效能器必需在以后逻辑日记文件中写一个新的查抄点记录。当这种工作频仍产生时,会增添查抄点的频率。在 V11 中,这但凡不是一个首要的要素。

    CKPTINTVL

    ONCONFIG 参数 CKPTINTVL 指定命据库效能器判定可否必要查抄点的频率,单元为秒。

    假如启用了 RTO_SERVER_RESTART,则 ONCONFIG 参数 CKPTINTVL 被纰漏。

    CKPTINTVL

    ONDBSPACEDOWN 设置参数指示效能器如哪里情由于 I/O 错误而停用的非镜像通例数据库空间。取决于设置,在查抄点时代引擎可以挂起。一时数据库空间不受 ONDBSPACEDOWN 的影响。

    在 V11 之前,有四种情况可以触发查抄点:

    1. 经办事件,歧封闭引擎或许添加一个块或数据库空间
    2. 物理日记满了 75%
    3. 逻辑日记空间中已经有一个查抄点:假如最旧的逻辑日记包罗比来的查抄点,那么 IDS 必需写一个新的查抄点,以便可以重用日记。Informix 必要一个查抄点用于规复,由于它是一个已知的对等点。
    4. ONCONFIG 参数 CKPTINTVL

    假如启用了 RTO_SERVER_RESTART,则不哄骗 CKPTINTVL 设置参数。这是由于最首要的是尽量跟踪规复进程要花若干好多时间以维护 RTO_SERVER_RESTART_POLICY

    假如没有启用 RTO_SERVER_RESTART,则 CKPTINTVL 设置参数指定命据库效能器判定可否必要查抄点的频率,单元为秒。

    假如 CKPTINTVL 到期,并且还没有更新(没有对象记录到物理日记中,并且没有新的经办事件),则不会产生查抄点。当页面更新或许对系统的革新很少时,但凡哄骗较长的 CKPTINTVL 设置。当 CKPTINTVL 较大时,决定要素就成了物理日记。

    可是,假如物理日记特别很是大,哄骗较长的查抄点间歇期会招致疾速规复必要更多的时间。假如数据库可用性特别很是首要,那么当引擎溃逃时这一点影响很大。在这种情况下,发起哄骗 CKPTINTVL 和得昔时夜小的物理日记。

    查抄点完成时,要从在线日记中读取往事。该往事还指定一个查抄点要花若干好多时间完成。在 V11 之前,关于用户被梗阻在环节代码段之外多长时间有一个一时的类型。DBA 可以哄骗该信息搀扶资助调优查抄点。可以哄骗 onstat -m 读这些往事。

    一个新的 onstat 选项(-g ckp)答应跟踪之前 20 个查抄点的汗青,并答应哄骗该信息跟踪查抄点。



    版权声明: 原创作品,答应转载,转载时请务必以超链接方式标明文章 原始情由 、作者信息和本声明。不然将清查法律责任。

  • 相关阅读:
    冒泡排序
    三种for循环遍历
    打印一年中的月历
    基于主主复制的mysql双机热备+keepalived实现高可用性
    docker实现apache+php容器和mysql容器独立运行
    XML和JSON
    PHP表单
    【翻译-Docker】Post-installation steps for Linux
    【翻译】docker install
    小计划
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1973028.html
Copyright © 2011-2022 走看看