- 论坛徽章:
- 0
|
Q:预启作业QZDASOINIT运行在QUSRWRK子系统里,负责处理ODBC/JDBC的连接请求.如果不加以限制,会严重占用机器的资源,从而影响整个系统的性能.如何限制这个作业的最大并行数量?
A:首先检查当前的设置:
(1)WRKSBS找到QUSRWRK子系统,在前面选择"5=Display subsystem description",回车进入.
(2)在"Display Subsystem Description"菜单里选择"10. Prestart job entries",回车进入.
(3)找到QZDASOINIT,在前面选择"5=Display details",回车进入,会看到如下屏幕的内容.
其中参数"Maximum number of jobs"就是表示可以并行的QZDASOINIT作业的数量:
- Display Prestart Job Entry Detail
- System: XXXXXXX
- Subsystem description: QUSRWRK Status: ACTIVE
-
- Program . . . . . . . . . . . . . . . . . . . . : QZDASOINIT
- Library . . . . . . . . . . . . . . . . . . . : QSYS
- User profile . . . . . . . . . . . . . . . . . . : QUSER
- Job . . . . . . . . . . . . . . . . . . . . . . : QZDASOINIT
- Job description . . . . . . . . . . . . . . . . : QDFTSVR
- Library . . . . . . . . . . . . . . . . . . . : QGPL
- Start jobs . . . . . . . . . . . . . . . . . . . : *YES
- Initial number of jobs . . . . . . . . . . . . . : 1
- Threshold . . . . . . . . . . . . . . . . . . . : 1
- Additional number of jobs . . . . . . . . . . . : 2
- Maximum number of jobs . . . . . . . . . . . . . : *NOMAX
- Maximum number of uses . . . . . . . . . . . . . : 200
- Wait for job . . . . . . . . . . . . . . . . . . : *YES
- Pool identifier . . . . . . . . . . . . . . . . : 1
-
- More...
- Press Enter to continue.
-
- F3=Exit F12=Cancel F14=Display previous entry
-
复制代码 修改PJ的定义:使用系统命令CHGPJE对这个参数进行修改.
===> CHGPJE SBSD(QUSRWRK) PGM(QZDASOINIT) MAXJOBS(100)
- Change Prestart Job Entry (CHGPJE)
-
- Type choices, press Enter.
-
- Subsystem description . . . . . > QUSRWRK Name
- Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB
- Program . . . . . . . . . . . . > QZDASOINIT Name
- Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB
- User profile . . . . . . . . . . *SAME Name, *SAME
- Start jobs . . . . . . . . . . . *SAME *SAME, *YES, *NO
- Initial number of jobs . . . . . *SAME 1-9999, *SAME
- Threshold . . . . . . . . . . . *SAME 1-9999, *SAME
- Additional number of jobs . . . *SAME 0-999, *SAME
- Maximum number of jobs . . . . . > 100 1-9999, *SAME, *NOMAX
-
-
-
-
-
-
- Bottom
- F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel
- F13=How to use this display F24=More keys
-
复制代码 Q:如果发现系统里活动的同名QZDASOINIT作业超过了上面设置的最大数量,是什么原因呢?
A:因为超出的这些作业跑到QSERVER子系统里去了,所以不再受到QUSRWRK里如上定义的参数的限制.
正常情况下,QZDASOINIT只运行在QUSRWRK下;只有当如下情况才会运行在QSERVER里:
如果系统的Host Servre *Databse启动了(也就是QZDASRVSD作业正常运行),一旦接收到客户端的ODBC/JDBC请求,会把请求分配给QUSRWRK子系统下的QZDASOINIT PJ作业; 如果此时没有可用的PJ作业(比如QUSRWRK子系统没有运行;或者达到了PJ的最大数量),就会"evoke a batch immediate QZDASOINIT job in the QSERVER subsystem. The BCI job is created using the QZDASRVSD BCH job as a model".
这个问题如何解决,也就是如何让PJ作业只运行在QUSRWRK下,并且受到 PJ "MAXJOBS"参数的限制:
请使用Navigator对DB服务器进行客户化配置:
![]()
![]()
建议先在测试机进行修改,观察看看对应用的影响.
这个修改会立刻生效. 如果系统里已经存在QSERVER下启动的BCI类型的QZDASOINIT,等它完成当前这次的SQL处理,会自动关闭的. 这样,QZDASOINIT就只能以PJ形式活动于QUSRWRK里,不会以BCI形式进入QSERVER了. |
|