Informix数据库性能调整_第1页
Informix数据库性能调整_第2页
Informix数据库性能调整_第3页
Informix数据库性能调整_第4页
Informix数据库性能调整_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、informix数据库性能调整数据库性能调整原则数据库性能调整是数据库应用屮的重要问题,它可以使数据库系统运行在最佳状态。进行性能调整时,应认真观察系统屮所有的环节,选择合适的工具來监控系统和采集数据 ,同时应遵循一些原则。其中应观察的环节包括: 监控对性能冇很大影响的系统资源的使川状况; 确定影响这些资源的数据库活动; 监控数据库系统的用户活动。性能调整应遵守以下原则:考虑全局,修改局部进行数据库性能调整时需要排除无关因素的干扰,找到关键问题。例如:系统管理员 在做调整时往往会先看一卜7厦件系统的统计数据,如cpu利川率、1/0活动状况和页化(pa ging),初试者往往会被某个数据所迷惑(

2、如高频度的磁盘活动)而决定通过捉髙硬件的性 能来解决问题,如添置新设备。实际上高频度的磁盘活动冇可能是由于对数据采用了不正 确扫描方式或数据库系统额外的开销造成的,此时通过建立索引或调整数据库系统本身就 有可能解决这个问题,其费用远远小于购买硬件。消除瓶颈在计算机系统屮,处理不当就极易产生瓶颈效应,严重影响系统的性能,因此消除瓶颈 是性能调整的一个重要内容。瓶颈现彖可以用交通堵塞来类比。交通堵塞通常是由于大 部分车辆必需通过狭窄的道路或多股车道的车辆合并到般车道,瓶颈效应也是类似, 要根据不同的原因來选择不同的方法。対于笫一种原因,可以采取提高部分环节性能的方 法来解决;而对于后一种则要采取分

3、割的方法,即把负载分给多个坏节,以减轻某个环节的 负担。分割分为空间、资源和时间三种方式。但要注意,分割并不一定提高性能。总的来 讲,消除瓶颈的方法有: 平衡系统资源上的负载; 调整数据库服务器的配置;调整用户的数据配置;调整oltp查询和dss查询所需资源的分配。调整客户心态进行数据库性能调整吋应首先把客户的心态调整到一个合理的程度。因为在系统性 能很差时,客户非常希望通过专业人员所作的性能调整迅速提高现有系统性能,对性能调 整抱有很大希望且心情急切,所以有必要对客户解释清號调整的目的及其效果。首先要给客户提出的有关性能方而的问题进行排队,确定哪些问题急需解决,将主要 精力放在哪个部分等。此

4、外,客户往往只看到问题的表面,而调整者则不仅要听客户的描 述,还要白己亲h查看系统,找到问题的真实原因。所以,性能调优的步骤应该是采集数据 、分析数据、制定调整计划、实施计划、评估调整后的性能。请注意:以上步骤应是一个 循环,即分析调整,再分析再调整,往复多次。性能调整的方法多种多样,因系统和人而异,但人多数采取自顶向下或自底向上的方 法,也有采用白里向外方法的。无论采用哪种方法,最终的目的是找出问题根源。另外,由 于现有的系统中,各种因素间均有联系,因此必须具备清醒的思路,明确的f1标,这样才可 能从复杂的环境中找到真正影响性能的原因。informix数据库的性能调整循序渐进的调整方法一般情

5、况下,若客户感到数据库系统的响应时间较长时,就会轻易地说系统性能冇问 题。的确,数据阳系统的响应时间是用来判断系统性能好坏的一个最直接的标准,响应时 间实际是多个坏节时间开销的总和。从下而的公式可以看出,响应时间的长如受制于整个 系统的各个环节,如网络质量、cpu效率、磁盘的速度及内存的大小。此外,处于不同角色 的用户所感受到的响应时间的长短也不同。最不幸的是,最终用户所观察到的响应时间是 最长的(如下图)。响应时间二网络传输时间+主机cpu消耗时间+磁盘i/o时间v内存页化消耗时间0261400. jpg;图 1informix推荐一种循序渐进的方法进行数据库系统性能优化。若通过这种方法还未

6、 能提高系统性能,则一般情况卜是由于缺乏硕件资源或是客户的应用程序代码的效率低卜 造成的。优化步骤如下(其中从第二步到第十一步应根据需要反复执行):1. 确定客户性能调整的fi标;2. 使用一些常用的系统监控工具,观察系统资源的利用率和数据库系统活动的频繁程 度;3. 确定性能问题的现象,如cpu、内存和磁盘不合理的使用;4. 帮助客户的系统管理员调整操作系统的参数;5. 每次只调整一个informix数据库系统的参数;6. 优化informix数据库系统的磁盘空间配置,如dbspace在磁盘系统上的分布;7. 优化库表的物理存放位置和表空间分配方式,如extent的增长方式;8. 优化ind

7、ex,增加必要的index,删除无需的index,减少index在1/0上的开销;9. 优化后台的t/0活动,包括日志、checkpoints和页刷新i/o活动在内;10. 在业务低峰期,将一些操作改成批处理作业和调整备份计划;11优化数据库系统的应用。参数设置正确的数据库系统参数为数据库系统正常运行提供一个良好的环境,有助于系统性能 的提高。informix数据库的某些参数与性能有着肓接的关系,如下面介绍的几个参数,因 此客户须正确设定这些参数,尤其是要注意参数大小的设定因系统和环境的不同而不同。 buffers:确定数据库系统对以使用的数据缓冲区,在oltp环境中,它直接影响数据操 作的速

8、度;locks:确定系统可用的锁量,设置到1000*用户数;phybuff:设置到每个1/0的页数应达到缓冲的75%;logbuff:设置到每个t/0的页数应达到缓冲的75%;cleaners:确定数据页刷新线程个数,影响数据从内存写到磁盘的速度;lrus:用于管理数据缓冲中数据页的使用方式,影响数据在内存中的命中率;lru max dirty和lru m1n_dirty:控制lru队列的刷新速度,有助于提高checkpoint的 效率,降低checkpoint的持续时间;ckpttntvl:设置为9999,使得checkpoint的发生频度由物理日志來控制; shvmvirtsize:设置虚

9、拟部分的大小,一般应是每个虚拟部分空间大一些,个数少一些 read_ahead:控制数据读取的方式,有利于捉高数据顺序扫描的效率;ra.threshold:提前读的阈值,控制下一-次读数据的方式。索引策略数据库系统中的索引策略对性能也冇较大的影响。informix数据库支持唯一型索引、重复型索引、复合型索引和聚簇型索引四种类型。其屮聚簇型索引最适用于静态表,效 率很高。在英余三种索引类型中,唯一型索引的效率最高,复合型索引可以提高含有大量 数据重复的查询速度,重复型索引的效率最低。在informix数据库系统中,建立索引应遵循以下规则:在需耍的字段上建立索引,如连接列、经常作为过滤器的列;索引

10、的键值要尽可能的小; 设定多个临时数据库空间。 影响索引效率的因素有以下几个方面: 索引构成方式。索引构成方式包括:混合型索引(attached index)与分离型索引(de tached index) o前者是索弓i与数据混存在一个数据空间中,这样会造成数据i/o与索引i /0的竞争;后者是索引单独存放在一个数据空间上,这样可以减少磁盘i/o的竞争。 索引填充因子(fillfactor)。这个参数用于控制在建立索引时,每个索引页的填充度 。对于静态表,该因子可设定为100;若某个表有很多的插入或更新的操作,则取值范围应 在5070 z间,但不能低于50,否则整个索引树就变成了一个半空树,这

11、样不仅浪费磁盘 空间,而且也会降低索引的效率。建立索引虽然能在一定程度上提高数据的査询能力,但同时也会带來一些空间和吋间 上的系统开销,以至这些开销大得足以影响数据库系统的性能。空间开销一目了然,时间 开销主要是由于索引的更新是动态的,即每个数据插入操作(insert)和删除操作(delete )都需要对索引冇一个读操作,数据修改操作(update)则需要对索引进行两个读操作,可见 若数据库中索引量过多,就会引起系统大量i/o操作,性能反而大受影响。数据库系统维护数据库系统的维护对性能也有直接的影响。在informix数据库屮,有一些描述数据库 系统的统计型数据需要数据库管理员进行维护,如描述

12、表中所含的数据行数的nrows、描 述索引的层数levels等。实际上这些数据的维护非常容易,只须数据库管理员定期执行一 条简单的sql命令update statistics,即町更新数据库系统冃录表中为优化器提供 信息的字段。这些字段将为informix优化器捉供一些它所需的统计型的数据,若提供的数 据精度较高,则会使优化器能够正确地认识表的规模、索引的结构及表小数据的重复度及 数据分布状况,从而使优化器能选择一条开销最低的杳询路径,以提高效率。oltp系统重要环节冃前,关系型数据库大多数用于oltp坏境。典型的oltp环境是用户量大、交易量大门 完成的操作简单(如数据插入、修改、删除),要

13、求数据库有较快的响应速度。因此在olt p环境下进行性能调整时,应把主要精力放在能够对系统性能有较大影响的环节上,比如:1. 缓冲区的读写命中率。在数据库系统屮,读写操作都要在内存缓冲区屮进行,所以缓冲区的读写命中率越高越好,以降低磁盘t/0开销。通常,缓冲区的读命中率应大于95% ,缓冲区写命屮率应人于85%。此外丄ru队列的刷新频度也会影响缓冲区的写命屮率。若 参数lru_max_d1rty和lru_m1n_d1rty设置过低,会因磁盘频繁刷新而造成写命中率降低。 在共亨内存的驻留部分中,含有两个物理日志缓冲和三个逻辑h志缓冲。较佳的缓存大小 是当一个缓存达到75%时被刷新,而且平均每个t

14、/0刷新页数应是缓冲大小的75%。若这个 比率大于75%,则应增加缓冲大小;反z应减小缓冲大小。不要一味地调大缓存数,以免带 来较多的內存页化问题,使系统性能降低。另外,在oltp中无需配置太多的虚拟内存部分 (virtual portion),这样可以节省内存供给数据缓冲使用。2. checkpolnto在checkpoint持续期间,全部用户的会话都会被暂时挂起,直至chec kpoint结束,所以checkpoint的持续时间越短越好。在oltp系统中,checkpoint持续时间 对系统性能是很重要的。在checkpoint操作期间,共享内存缓冲区中被修改的页均要刷新 到磁盘上。此时,

15、系统将为每个chunk分配一个页清除线程,读取缓冲区头表并为响应的c hunk定位修改的页,然后把写盘请求写到aio或kto的队列中。山此可见,checkpoint发生 时伴随大量的i/o操作,降低i,ru_max_dtrty和lru_mtndtrty这两个参数值会冇助于chec kpoint持续时间的缩短,但这样会增加正常操作期间i/o的开销。所以性能调整实际上是 在系统中找一个动态平衡点,很难找到一个静态平衡点。此外,物理fi志的大小也与chec kpoint相关。物理fl志的大小可以控制checkpoint的发生频度,而且比参数ckptintvl更 有效。3. 增加i/o吞吐量。增加系统

16、的i/o吞吐量是十分重要的。可以通过对数据和索引的分布以达到消除t/0瓶颈、增加吞吐、优化系统性能的冃的。这里要特别提出索引的问题 o在表中,索引的数量应合适不要太多,如果査询只访问单行或行数较少时,应通过索引。 在目前的oltp环境中,事务处理过多依赖于索引,所以关键在于如何分散数据和索引,以求 得到最有效的l/0o对于大表來说,可以尝试将其索引进行分段处理,这样可以因减少索引 页扫描的数量而减少查询时间。但要注意,索引分段时只能按照表达式方式分段,因此会 消耗cpu资源,增加开销。然而如果限制索引分段的数量,那么就能减少这种开销,使得系 统达到i/o平衡。4. 锁。在oltp中,所需的锁量

17、很大,因此一般情况下要超量设置锁量(锁所消耗的系统 资源很小)。应用程序效率如前所述,应用程序和查询的效率同样会影响数据库系统性能。一个低效率的应川会 大幅度降低数据库系统性能,而此时无论如何调整数据库系统的参数都无济于事。在应用 程序中应做到:对关键且常用的sql语句使用prepare:合理使用四个隔离级:在dss杏询中使用dirty read隔离级,在oltp屮主要使用com mitted read 和 cursor stability 两种隔离级; 使用游标可以调整fet_buf_size参数,从而提高性能;避免相关査询,-般用表连接方式代替相关子查询;尽可能提取所需的数据;注意观察优化

18、器的杳询路径,但在实际程序屮不要加入set explain on语句,它会严 垂影响系统性能。性能监测工具informix数据库系统中提供了多种性能监控工具,如smi、onstat和onchocko其中 sm1和onstat不会影响系统性能,因为它们在获取系统数据时并不在所用的资源上加锁; 而oncheck则要对所使用的资源加锁,影响系统的并发性。使用informix数据库系统提供 的工具主要监控数据库系统木身的性能,如数据空间的t/0、系统资源竞争、磁盘t/0刷新 及对系统cpu的消耗等。这三种工具中,命令行工具onstat使用最方便,它可以全方位地监 测数据库系统。其中以下选项特别常用:onstat -d:用于监测数据空间onstat -f:用于监测系统中磁盘写的状况onstat -1:用于监测系统的物理f1志和逻辑fi志onstat m:用于监测系统的消息日志onstat 一p:用于监测系统总的状况onstat -r:用于监测系统的lru队列对的刷新状况:用于监测各种vp的状态:用于监测i/o队列的状态:用于监测用户的会话信息:用于监测用户的sql语句onstatonstat onstat onstat一 g_g-g_ggioioqsessql在监测系统性能时,不仅要监测数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论