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

    ONCONFIG

    VP>

    IDS 是可伸缩的,因此对它住手调优,以包容年夜型实例。

    用于调优 VP 的主要参数是 VP>

    下面的参数已经被弃用,并被 VP> 改换:

    • NUMCPUVPS
    • SINGLE_CPU_VP
    • AFF_SPROC
    • AFF_NPROCS
    • NOAGE
    • NUMAIOVPS


    VP>

    VP> 参数中的第一项供应所描绘的假造处置奖惩器典范典范的称呼。VP> 称呼不是区分巨细写的。

    可觉得用户定义例程或 DataBlade 模块定义新的假造处置奖惩器典范典范,年夜概为预定义的假造处置奖惩器典范典范设置值。

    留神: 下面的典范典范称呼是预定义的:

    清单 1. 预定义的 VP>

                        				
    adm      lio      shm
    adt      msc      soc
    cpu      ntk      str
    jvp      opt      tli
    kio      aio      pio
    encrypt
    				


    > 变量是必需的。与年夜年夜都设置参数不同,VP> 有一些选项字段,它们可以以恣意序次出现,之间用逗号隔开。字段中不能运用空格。VP> 有以下空格:

    清单 2. VP>

                        				
    num=num_VPs
    max=max_VPs
    aff=affinity
    noage
    noyield
    				


    要认识更多信息,请参阅文档。

    多个 CPU 的设置

    如前所述,IDS 是可伸缩的,可以对它住手设置,以包容和运用多 CPU 的角逐争论机。

    CPU VP 的数量可以如许设置:

    清单 3. 多个 CPU VP

                        	VP>

    Java VP

    VP>

    搜集 VP

    关于 VP 典范典范 tlishmstrsoc,必需将 NETTYPE 设置参数的 VP_> 字段设置为 NET

    比喻,若是 VP> 参数被设置如下:

                        				
    VP>

    那么 NETTYPE 参数应该设置为:

                        				
    NETTYPE ipcshm,1,100,NET
    NETTYPE tlitcp,1,100,NET
    				











    设置共享内存参数

    下面是一些共享内存参数:

    表 2. 共享内存参数
    参数 描绘
    EXTSHMADD 指定增添的扩展段(extension segment)的巨细
    SHMADD 指定当数据库效劳器乞求更多内存时内存的增量
    SHMBASE 指定共享内存基址,与角逐争论机有关。这个值取决于是什么平台,处置奖惩器是 32 位仍是 64 位的。要认识关于运用哪个 SHMBASE 值的信息,请反省角逐争论机说明
    SHMTOTAL 指定容许数据库效劳器运用的最年夜内存数
    SHMVIRTSIZEL 指天命据库效劳器运用的第一块内存的巨细











    经管搜集参数以取得最佳通信功效

    DBSERVERNAMEDBSERVERALIASES 参数对应于 sqlhosts 文件或注册表第一列中的条目。一个 NETTYPE 条目可以指定一个接口/和谈组合。NETTYE 与 DBSERVER 或 DBSERVERALIAS 条目不是娶亲的,而是对应于 sqlhosts 文件中第二列中有呼应和谈的那一行。依据关于分派若干个 poll 线程的定义,数据库效劳器将为每个专心的 NETTYPE 条目运转一个或多个 poll 线程。

    NETTYPE 设置参数还供应用于一个呼应的接口/和谈组合的附加设置信息。这使 DBA 可以分派一个初始缓冲区以处置奖惩用户,并为一个接口/和谈组合分派不止一个 poll 线程。 NETTYPE 还指定 poll 线程将在其上任务的假造处置奖惩器典范典范(CPU 或 NET)。

    poll 线程可以在 CPU 假造处置奖惩器(VP)或搜集 VP 上运转。关于单 CPU 机器,poll 线程凡是在 CPU VP 上可以更高效地运转。然则,在具熟年夜批近程客户机的多处置奖惩器角逐争论机上,在 NET VP 上运转 poll 线程可以取得更好的吞吐率。

    默许情形下,若是没无为一个接口/和谈组合设置 NETTYPE,则数据库效劳器将在内部运转 poll 线程。默许情形下,与 DBSERVERALIAS 娶亲的、用于特定接口/和谈组合的 poll 线程将在 CPU VP 上运转,因为数据库效劳器假定这是任何用户的主接口。关于其他接口/和谈组合,若是没有指定 VP 典范典范,则默许地在 NET VP 上运转那些 poll 线程。

    若是 poll 线程在 NET VP 上运转,那么引擎将为每个 poll 线程启动一个 NET VP。这是因为每个 poll 线程都必要本人的假造处置奖惩器。

    关于在内部运转(即在 CPU VP 上运转)的 poll 线程也是如斯。 若是指定 VP 典范典范为 CPU,那么每个 CPU VP 上只能运转一个 poll 线程。若是数据库效劳器没有充足的 CPU VP,则数据库效劳器将委派 NET VP 处置奖惩溢出。

    关于较小的零碎,每个搜集接口/和谈组合只需一个 poll 线程,即只需一个假造处置奖惩器。关于有 200 个以上并发搜集用户的零碎,增添更多的 poll 线程(随之增添搜集假造处置奖惩器)可以取得更好的功效。因为用户负载较高,可以必要住手实验,以确定 poll 线程(岂论是内部运转仍是在 NET VP 上运转)和要启动的搜集 VP 的数量(若是在搜集假造处置奖惩器上运转的话)的设置。

    若是关于给定的单个端口和呼应侦听线程的接口/和谈组合,数据库效劳器不能令人惬心地处置奖惩衔接乞求,那么可以经过过程以下举措进步衔接吞吐率:

    • 分派更多的侦听线程
    • 增添一个搜集接口卡

    分派更多的侦听线程

    一个侦听线程公用于它所在的端口。首先,运用 DBSERVERALIASES 参数为每个附加端口指定一个 dbservername。

    引擎只能分派一个共享内存侦听线程。然则关于搜集衔接,每个 DBSERVERALIAS 将处置奖惩 NETTYPE 设置,并分派一组不异的 poll 线程和衔接缓冲区。

    关于 sqlhosts 文件或注册表中的每个 DBSERVERALIAS,必需指定一个接口/和谈组合。

    增添一个搜集接口卡

    偶然刻,用于主角逐争论机的一个搜集接口卡不能达到要求的衔接吞吐率。年夜概,可以必要将数据库效劳器衔接到不止一个搜集。在这种情形下,可以增添一个搜集接口卡。

    为支持多个搜集接口卡,必需为每个卡付与一个专心的主机名或搜集地点。

    增添一个网卡后,就可以增添一个附加的侦听线程,这个侦听线程在新增的网卡上运转。数据库效劳器将运用 sqlhosts 文件中的 hostname 条目以确定运用哪个网卡。

    搜集缓冲区

    调处搜集缓冲区的巨细以包容一个罕见的乞求,如允许以避免将一个乞求拆分红多个报文,从而进步 CPU 垄断率。然则,如许做时要小心,因为数据库效劳器会为扫数举止的衔接静态地分派指定巨细的搜集缓冲区。若是缓冲区设置得太年夜,就会消耗年夜批的内存。

    数据库效劳器从全局内存池中为乞求报文分派搜集缓冲区。当数据库效劳器效劳完一个客户机乞求之后,它将那些缓冲区前往给群众搜集缓冲池。这个缓冲池在运用 SOCTCP、IPCSTR 或 TLITCP 搜集衔接的会话之间共享。

    数据库经管员可以用以下举措节制清闲缓冲区阈值和每个缓冲区的巨细:

    • NETTYPE 设置参数
    • IFX_NETBUF_PVTPOOL_SIZE 情形变量
    • sqlhosts 文件或注册表中的 IFX_NETBUF_SIZE 情形变量和 b(客户机缓冲区巨细)选项


    NETTYPE 设置参数

    数据库效劳器维护清闲搜集缓冲区的一个阈值。这是为了警觉从搜集缓冲池中频仍地分派和采用共享内存。若是在 NETTYPE 参数中指定一个用户数量,则数据库效劳器垄断这个值,并维护阈值,以娶亲共享内存的分派。

    数据库效劳器运用下面的公式角逐争论搜集缓冲池中清闲缓冲区的阈值:

                        				
    free network buffers threshold = 100   (0.7 * number_connections)
    


    关于 TCPIP 衔接(即 SOCTCP、TLITCP 或 IPCSTR),number_connections 的值与 NETTYPE 条目标第三个字段关系联。共享内存衔接(IPCSHM)不运用这个公式以角逐争论 connections_used。

    若是没有指定,NETTYPE 参数第三个字段的默许值是 50 个用户。

    IFX_NETBUF_PVTPOOL_SIZE 情形变量

    数据库效劳器供应了一种机制以支持运用 SOCTCP、IPCSTR 或 TLITCP 搜集衔接的每个会话的私有搜集缓冲区。

    当许多衔接和会话屡屡举止时,这些私有搜集缓冲区可以带来以下好处:

    • 增添群众搜集缓冲池的衔接
    • 糜费 CPU 资本,因为不必要为每个搜集传输从群众搜集缓冲池平分派搜集缓冲区和为之采用搜集缓冲区。这些缓冲区将静态可用。

    用于每个会话的私有搜集缓冲池的巨细由 IFX_NETBUF_PVTPOOL_SIZE 情形变量指定。默许巨细是一个缓冲区。

    可以运用下面表中的 onstat 选项以看管搜集缓冲区的运用:

    表 3. 用 onstat 看管搜集缓冲区
    选项 输入字段 字段描绘
    onstat -g ntu q-pvt 私有缓冲池顶用于该会话的清闲缓冲区的尔后数量和最高数量
    onstat -g ntm q-exceeds 跨越清闲缓冲区阈值的次数


    onstat -g ntu 选项按以下式子施展分析 q-pvt 输入字段:

                        				
    current number / highest number 
    


    若是清闲缓冲区的数量(q-pvt 字段中的值)不绝为 0,那么可以采取以下几种步履之一:

    • 运用情形变量 IFX_NETBUF_PVTPOOL_SIZE 增添缓冲区的数量
    • 运用情形变量 IFX_NETBUF_SIZE 增添每个缓冲区的巨细

    q-exceeds 字段剖明清闲共享搜集缓冲池的阈值被跨越的次数。当跨越这个阈值时,数据库效劳器将未运用的搜集缓冲区(跨越这个阈值的局部)前往给全局内存池。最佳情形下,这个值应该总是为 0 年夜概一个很低的数字。这是效劳器不在分派或采用搜集缓冲区的一个指示符。

    IFX_NETBUF_SIZE 情形变量

    IFX_NETBUF_SIZE 情形变量指定群众搜集缓冲池中每个搜集缓冲区和私有搜集缓冲池的巨细。默许巨细为 4KB。

    运用 IFX_NETBUF_SIZE 设置一个较年夜的缓冲区可以增添采取每个分组所需的开支。

    若是晓得客户机会发送年夜于 4B 的分组,可以将 IFX_NETBUF_SIZE 设置为均匀分组巨细。客户机在以下几种情形下会发送年夜型分组:

    • 表装载
    • 行巨细年夜于 4KB
    • 发送年夜概的年夜型工具

    sqlhosts 的 b 选项对应于 IFX_NETBUF_SIZE 参数。sqlhosts 选项的值凡是应该与 IFX_NETBUF_SIZE 的值娶亲。

    可以运用下面的 onstat 命令反省搜集缓冲区巨细:

    onstat -g afr global | grep net
    


    输入中的 size 字段施展分析搜集缓冲区的巨细,单元为字节。









    自调优

    IDS 11 在某些方面会主动调优。

    主动反省点

    数据库效劳器会主动调处反省点频率,以避免事务梗阻。为此,效劳器看管物理和逻辑日记的消耗情形以及关于已往反省点功效的信息。

    然后,必要时效劳器更频仍地触发反省点,以避免事务梗阻。为了留存关于比来反省点功效的信息,Informix Dynamic Servers 在 SYSMATER 数据库中增添了下面两个表:

    表 4. 用于反省点的新的 Sysmaster 表
    表 描绘
    syscheckpoint 寄存关于比来 20 个反省点的历史
    sysckptinfo 跟踪反省点举止


    因为数据库效劳器在反省点处置奖惩时代不梗阻事务,LRU 刷新应该放缓。若是效劳器不能在物理日记被消耗(如许会招致事务梗阻)之前完成反省点处置奖惩,并且不能增添物理日记的巨细,那么可以设置效劳器,使之更积极地住手 LRU 刷新。

    增添 LRU 刷新会影响事务功效,然则可以增添事务梗阻。若是没有设置效劳器使之更频仍地住手 LRU 刷新,那么只要当效劳器找不到低优先级的缓冲区住手页面置换时,效劳器才主动调处 LRU 刷新,使之变得更积极。

    ONCONFIG 参数 AUTO_CKPTS 启用主动反省点,默许情形下,在设置文件中它是主动启用的。

    可以经过过程将 onmode -wf AUTO_CKPTS 设为 0,年夜概将 AUTO_CKPTS 设置参数设为 0 以关闭主动反省点。

    若是关闭了 AUTO_CKPTS,则 Informix Dynamic Server 只依据以下 4 个事务触发反省点:

    • 诸如归档、onmode -c、增添数据库空间、启动和关闭效劳器之类的经管事务
    • 物理日记满了 75%。确保物理日记较年夜,以避免在达到 CKPTINTVL 之前孕育发生发火反省点处置奖惩
    • 每个逻辑日记空间一个反省点:Informix Dynamic Server 不能润饰藻饰包括尔后反省点的逻辑日记,以是它必需在转移到阿谁逻辑日记之前触发反省点
    • ONCONFIG 参数 CKPTINTVL


    LRU 的主动调优

    用于运用间歇性反省点刷新每个缓冲池的 LRU 设置关于反省点功效并不紧张。只要当维护充足多干净的页面用于页面置换时,才必要住手 LRU 设置,以减缓 LRU 刷新。

    每当孕育发生发火页面置换时,数据库效劳器主动调优 LRU 刷新。

    孕育发生发火反省点之后,若是在之前的反省点间歇时代孕育发生发火了页置换前台写操纵,则数据库效劳器将 LRU 设置增添 10%,并且在随后的每个反省点连续增添 LRU 刷新,直到页置换前台写操纵避免,年夜概一个给定的缓冲池的 LRU_MAX 低落了 10%。

    比喻,若是孕育发生发火页置换前台写操纵,并且一个缓冲池的 LRU 设置是 80 和 90,则数据库效劳器将该设置调处为 76 和 85.5。

    除了前台写操纵之外,每当一个页错误改换了一个热页面(高优先级缓冲区),并且非高优先级缓冲区在修改的 LRU 行列上时,LRU 刷新也将被调处为愈加积极。主动 LRU 调处只是使 LRU 刷新变得更积极,而不能增添 LRU 刷新。主动 LRU 调处不是永远的,不会记着实 ONCONFIG 文件中。

    LRU 刷新会被重新设置为数据库效劳器启动时运用的 ONCONFIG 文件中包括的值。

    主动 LRU 调优对扫数缓冲池都有影响,并且会调处 BUFFERPOOL 设置参数中的 LRU_MIN_DIRTY 和 LRU_MAX_DIRTY 值。

    AUTO_LRU_TUNING 设置参数指定当效劳器启动时能否启用主动 LRU 调优。

    默许情形下,在设置文件中 AUTO_LRU_TUNING 已被启用。可以运用 onmode -wmonmode -wf 静态地启用或禁用 LRU 调优。

    主动 AIO VP 调优

    从 IBM Informix Dynamic Server V11 入部下手,可以运用 AUTO_AIOVPS 设置参数使数据库效劳器可以在效劳器检测到 AIO VP 没有跟上 I/O 任务负载时主动调处 AIO VP 和刷新线程的数量。

    默许情形下,AUTO_AIOVPS 在设置文件中已启用。可以运用 onmode -wmonmode -wf 静态地启用或禁用 AIO VP 和刷新线程的主动增添。









    RAS_PLOG_SPEED 和 RAS_LLOG_SPEED

    这两个 ONCONFIG 参数用于寄存在疾速光复时代物理日记和逻辑日记光复的速度。

    RAS_PLOG_SPEED 最初是在物理日记初始化时设置的。

    RAS_LLOG_SPEED 被初始化为 RAS_PLOG_SPEED 的 1/8。

    每当孕育发生发火疾速光复时,这两个值将被更新,以反应理想的光复速度。它们的单元是页/秒。

    IBM 将这两个参数包孕在 ONCONFIG 文件中,使得那些将 Informix Dynamic Server 嵌入到使用举措中的客户可以供应事后角逐争论的值,从而不必要住手调优就能达到最佳功效。除非在 IBM 技术支持的指导下,否则 DBA 不该修改这些值。



    版权声明: 原创作品,容许转载,转载时请务必以超链接体式格局标明文章 原始来由 、作者信息和本声明。否则将清查功令责任。

  • 相关阅读:
    20191105 《Spring5高级编程》笔记-第10章
    Overview of the High Efficiency Video Coding (HEVC) Standard阅读笔记
    web视频播放
    ffmpeg使用笔记
    ffplay使用笔记
    ffmpeg安装配置以及库调用
    ffmpeg入门
    Faster-RCNN
    OJ练习
    python搭建友盟以及个推推送web服务器
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1973032.html
Copyright © 2011-2022 走看看