Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1294578
  • 博文数量: 287
  • 博客积分: 11000
  • 博客等级: 上将
  • 技术积分: 3833
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-16 08:43
文章分类
文章存档

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2012-06-04 18:07:06

影响AS400平台应用系统运行性能的项目实施误区和纠正做法

 

一、问题的提出

1) PFKEY

DDS创建PF时,就指定记录的KEY,即索引键字。采用操作系统默认值创建PFKEY,是实时维护键字排序。

OS400下,用PFKEY,操作系统只保留index文件,而没有按自然顺序输入的记录排序的记录文件。随着PF数据的日积月累,记录数不断增加,操作系统如果要实时维护索引文件的排序,就要耗费系统处理资源。如果在应用系统交易高峰期,或批处理时间段,操作系统除了要实时PFKEY的索引文件的排序,还要实时维护这个PF相关的LF文件排序。这样重叠排序会增加系统资源的开销,缩短应用系统单位时间运行的有限时间。

2) 对多键字、又为一索引记录格式的文件LF采用动态索引操作

只有当组合键字的长度等于索引文件的键字的长度,索引文件使用才是最快的。

如果组合键字小于索引文件的长度,操作系统对每次操作代码的设置(SET),就要对这个索引文件重新排序,会增加系统资源的开销,缩短应用系统单位时间运行的有限时间。

3) 在程序代码中使用动态QUERY操作。

因为在CL中每一次运行OPNQRYF,在ASP临时数据内,如果这个query文件没有存在,就意味操作系统要创建一个临时的,且满足索引条件的数据文件。对海量记录数的PF来说,创建一个这样的文件要耗费系统资源,降低应用系统单位时间的有效运行时间。

4) 在代码中大量使用连接文件。

因为连接文件需要用键字进行连接,对海量记录的索引文件连接,连接文件相当于索引文件的条件筛选,操作系统维护这个索引文件的条件筛选,需要系统开销。

 

二、纠正方法

A)            保持PF原始输入的自然顺序。这样做可以很容易检查到断点环境的PF数据。

B) PF下创建LF,即index文件。对项目实施规划设计时,把可预见的所有LF文件,都用LF的多记录文件进行创建,因为这样创建,操作系统会对每一个LF的记录格式产生一个索引文件。对稍后期的LF文件,即在这个PF下创建LF时用多记录格式后,再补充创建相关的LF文件,采用另创建一个LF的文件做法,保持每一个索引文件有一个排序。

C) 对动态query的做法,可以采MQT  SQL命令触发的数据重整形式代替动态query的做法。

D)对多文件关联的查询文件,尽量少用连接文件,或不用连接问题,而采MQT SQL命令触发排序和数据重整的做法。
阅读(1383) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

小雨同学2012-06-04 23:53:22

沙发