并行处理 input/output、查询和索引 AS400
Parallel processing input/output, queries, and indexes AS400
IBM V6.1
当使用 I 系统导航器并单击系统值时,将显示以下内容。
默认选择 Do not allow parallel processing
。
当您选择多个进程时,会对程序中的处理产生什么影响,我们有分配的 rpgiv 程序和正在执行的 sql 查询,我认为这会提高性能?
基本上我想在生产环境中打开它,但不确定这样做是否会破坏任何东西,例如不同程序的输入或输出 运行 并行或数据乱序?
我确实做了一些研究:
https://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzakz/rzakzqqrydegree.htm
了解每个选项,但我不知道将其从默认更改为多个的风险。
首先,为了充分利用 *MAX 和 *OPTIMIZE,您需要一个具有多个内核(为 IBM i / DB2 启用)的系统以及 DB2 Symmetric已安装多处理 (SMP)(57xx-SS1 选项 26) 许可程序;从而允许系统使用 SMP 进行查询和索引构建。
对于 *IO,即使在单核 POWER 5 或更高版本的机器上,系统也可以通过同步多线程 (SMT) 使用多个任务。通过 处理器多任务 (QPRCMLTSK) 系统值
启用 SMT
您不太可能通过更改值来 "break" 任何事情。只要您的应用程序不对结果集排序做出错误的假设。例如,CPYxxxIMPF 在幕后使用 SQL;除了 *NONE 之外,您最终可能会在 DB2 table 中以与导入文件中的行不同的顺序结束这些行。
您肯定会增加 CPU 使用率。这不是一件坏事;除非您当前定期推动 90% + CPU 使用率。如果您只使用了 CPU 的 50%,那么利用 SMT/SMP 来提供更好的响应时间可能是一件好事,即使它将 CPU 利用率提高到 60%。
话虽如此,这是一个问题的故事... http://archive.midrange.com/midrange-l/200304/msg01338.html
请注意,在上述情况下,OP 在登录时进行了 table 的预构建工作,以尽量减少使用它们时的等待时间。 20 年前使用单线程系统的好主意。今天,替代方案是利用 SMP/SMT 并仅在需要时构建所需的内容。
正如您在评论中指出的那样,这种更改很难在非生产环境中进行测试,因为开发和测试中的工作负载不同。因此,在变更前后收集良好的性能数据非常重要。如果您愿意,您还可以考虑将其移动到 *NONE --> *IO --> *OPTIMIZE 和 *MAX 阶段。如果您有周期性的月末工作,我会在每个级别上至少花一个月的时间。
IBM V6.1
当使用 I 系统导航器并单击系统值时,将显示以下内容。
默认选择 Do not allow parallel processing
。
当您选择多个进程时,会对程序中的处理产生什么影响,我们有分配的 rpgiv 程序和正在执行的 sql 查询,我认为这会提高性能?
基本上我想在生产环境中打开它,但不确定这样做是否会破坏任何东西,例如不同程序的输入或输出 运行 并行或数据乱序?
我确实做了一些研究:
https://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzakz/rzakzqqrydegree.htm
了解每个选项,但我不知道将其从默认更改为多个的风险。
首先,为了充分利用 *MAX 和 *OPTIMIZE,您需要一个具有多个内核(为 IBM i / DB2 启用)的系统以及 DB2 Symmetric已安装多处理 (SMP)(57xx-SS1 选项 26) 许可程序;从而允许系统使用 SMP 进行查询和索引构建。
对于 *IO,即使在单核 POWER 5 或更高版本的机器上,系统也可以通过同步多线程 (SMT) 使用多个任务。通过 处理器多任务 (QPRCMLTSK) 系统值
启用 SMT您不太可能通过更改值来 "break" 任何事情。只要您的应用程序不对结果集排序做出错误的假设。例如,CPYxxxIMPF 在幕后使用 SQL;除了 *NONE 之外,您最终可能会在 DB2 table 中以与导入文件中的行不同的顺序结束这些行。
您肯定会增加 CPU 使用率。这不是一件坏事;除非您当前定期推动 90% + CPU 使用率。如果您只使用了 CPU 的 50%,那么利用 SMT/SMP 来提供更好的响应时间可能是一件好事,即使它将 CPU 利用率提高到 60%。
话虽如此,这是一个问题的故事... http://archive.midrange.com/midrange-l/200304/msg01338.html
请注意,在上述情况下,OP 在登录时进行了 table 的预构建工作,以尽量减少使用它们时的等待时间。 20 年前使用单线程系统的好主意。今天,替代方案是利用 SMP/SMT 并仅在需要时构建所需的内容。
正如您在评论中指出的那样,这种更改很难在非生产环境中进行测试,因为开发和测试中的工作负载不同。因此,在变更前后收集良好的性能数据非常重要。如果您愿意,您还可以考虑将其移动到 *NONE --> *IO --> *OPTIMIZE 和 *MAX 阶段。如果您有周期性的月末工作,我会在每个级别上至少花一个月的时间。