并行处理输入/输出,查询和索引AS400

时间:2016-09-13 10:44:27

标签: db2 ibm-midrange rpgle rpg

IBM V6.1

使用I系统导航器时,单击系统值时会显示以下内容。

enter image description here

默认选择Do not allow parallel processing

当你选择多个进程时,对程序中的处理会产生什么影响,我们有大量的rpgiv程序和sql查询正在执行,我认为它会提高性能?

基本上我想在生产环境中打开它,但不确定我是否会通过执行此操作来破坏任何内容,例如输入或输出并行运行的不同程序或数据失序?

我做了一些研究:

https://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzakz/rzakzqqrydegree.htm

了解每个选项,但我不知道将其从默认更改为多个的风险。

1 个答案:

答案 0 :(得分:2)

首先,为了充分利用* MAX和* OPTIMIZE,您需要一个具有多个核心的系统(为IBM i / DB2启用)以及 DB2对称多处理(SMP) (57xx-SS1选项26)安装了许可证程序;从而允许系统将SMP用于查询和索引构建。

对于* IO,即使在单核心POWER 5或更高版本的盒子上,系统也可以通过同步多线程(SMT)使用多个任务。通过处理器多任务(QPRCMLTTSK)系统值启用SMT

你不可能通过改变价值来“破坏”任何东西。只要您的应用程序不对结果集排序做出错误的假设。例如,CPYxxxIMPF在幕后使用SQL;除了* NONE以外,您可能会以与导入文件中的行不同的顺序结束DB2表中的行。

您肯定会增加CPU使用率。这不是一件坏事;除非你目前正在推动90%以上的CPU使用率。如果您只使用50%的CPU,那么即使将CPU利用率提高到60%,使用SMT / SMP提供更好的响应时间也是一件好事。

话虽如此,这是一个关于它是一个问题的故事...... http://archive.midrange.com/midrange-l/200304/msg01338.html

请注意,在上述情况下,OP是在登录时预建工作表,以便最小化等待时间。 20年前使用单线程系统的好主意。今天,替代方案是利用SMP / SMT并在需要时仅构建所需的东西。

正如您在评论中指出的那样,由于DEV& D中的工作负载,因此很难在非生产环境中测试此类更改。测试是不同的。因此,在收集和收集之前收集良好的性能数据非常重要。改变之后。你也可以考虑移动它* * NONE - > * IO - > * OPTIMIZE然后* MAX如果你愿意。如果你有定期的月末工作,我会在每个级别上花费至少一个月。