新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > 数据库综合 > 正文:轻松掌握多方面的参数设置对性能的影响

轻松掌握多方面的参数设置对性能的影响

新客网 XKER.COM 2007-09-14 来源: ziyi 收藏本文

 

将物理、逻辑日志分开

对于有大量的写操作(插入、更新、删除)的任何Online应用环境应将逻辑和物理日志分别放在不同的磁盘/控制器上。在放置物理、逻辑日志的磁盘上不要再放其它数据。

将逻辑日志放在不同的磁盘上

避免当前日志于各份日志之间出现冲突

减少磁头移动

如果可能的话,控制原始分区的分配以减少磁头的移动

控制表分割

尽量防止表分为多个段(extent),这对OnLine 5.0及以前的各版十分重要。

避免过多的chunk

即使没有dirty页,大量的chunk也会明显增加检查点的时间。

明智地使用数据分片

不要对小表进行分片

不要对所有的表进行分片

确定数据量大且频繁访问重要表

将表的每个分片放在单独的磁盘上

使用轮转(round robin)方式分割索引要小心

OLTP--轮询方式分割数据,分离(也可分割)索引

通常为使OLTP性能最佳,要考虑用轮询方式将使用高的大表分割到不同磁盘的DBSPACE中(为分散多个磁盘间I/O)。这些表的索引也应明确地生成在特定的dbspace上(与数据不同的磁盘上)。也可以按表达式进行分片。

DSS--轮转或基于表达式方式分割数据,无索引或尽量少

通常为使DSS性能最佳,考虑哪种方式分割大表最好,是轮询还是表达式方式,对不同的表使用不同的分片方式,其目标是为了平衡总体I/O,并可以使优化器对频繁运行的查询消除对不必要分片的扫描

基于表达式方式分片

表达式应该简洁。对给定的dbspace,首先使用最有约束力的、限制条件最多的表达式:

例如使用x<=10 and x>;=1 in dbspace1,而不要使用x>;=1 and x<=10 in dbspace1。

将访问频度高的 dbspace放在访问频度低的dbspace前

避免使用进行类型转换的表达式

不要按经常改换值得列进行分片

在分片间进行的移动要付出额外的开销

仔细选择表达式

为了均衡I/O负载,而不是数据量

为了帮助消除查询中无需扫描的段

避免使用REMAINDER IN子句

使用多个数据库临时空间(DBSPACETEMP)

如果DBSPACETEMP列出多个dbspace的话,将大大并行涉及临时空间的操作。如使用多个临时dbspace,将它们放在与其它活动频繁的dbspace不同、且彼此分开的磁盘上。

OPTCOMPIND

OLTP--设置为0

对OLTP,应避免使用散列(hash)连接,因为该连接方式将大量消耗处理器资源。

DSS--设置为2

对DSS,散列连接可以提供很好的连接性能。

LRUS

最少4,否则等于NUMCPUVPS

缓冲区

对OLTP而言,需要较大的缓冲区池和较高的缓存命中率

对典型的OLTP工作负载,当大量访问在系统的缓存中的页时可以获得最好的性能,为了实现这点需要有大小合适的缓存区。通过onstat -p可以显示出缓存的效率,它将显示读、写的快速缓存命中百分率。在可用内存的限制下,要尽可能地提高该数字,通常获得95%以上的读命中率和85以上的写命中率是可能的。

对DSS而言,通常一个较小的缓冲区就够了

对典型的DSS工作负载,多数数据访问是有light scan扫描完成的,而不通过缓冲池,造成不需要使用大量缓冲池的后果。内存应由DS_TOTAL_MEMORY分配,以便有足够的内存用于扫描缓冲区,散列连接等。

 

Bufferd Logging 与UnBuffered Logging 
Bufferd Logging 比UnBuffered Logging性能好

使用Buffered Logging,逻辑日志缓冲区只在充满时才向磁盘刷新。使用UnBuffered Logging,每次事务提交都会强制一次日志缓冲区刷新。注意由于逻辑日志缓冲区对所有的数据库是公用的,所以即使仅有一个活动频繁的数据库使用非缓冲日志也会大大降低使用缓冲日志带来的益处。

共3页: 上一页 [1] [2] [3] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐