Applicable versions and levels
Windows versions: V5.0L20 or later
Solaris versions: 5.0 or later
Linux versions: 5.2, V10.0L10 or later
Linux for Itanium versions: V12.0L10 or later
HP-UX versions: 10.0 or later
AIX versions: 10.0 or later
A
Design the system so that when you register a large number of jobs, multiple job processes are executed in a single job, minimizing the number of jobs.
Queue control, exclusive control, and creation of the job execution environment are performed for each job, so more jobs result in higher overheads. If the schedule server and the execution server are different, communication and transfer of job output files between the servers will also result in overhead.
Guidelines when registering a large number of jobs
Estimate the registered number of jobs and the processing time for each job, and verify that the jobs can be processed within the operation time. If you register network jobs, test the jobs in a network job environment.
For example, prepare a business model in which provisional jobs are set to "sleep" during the estimated job processing time, and verify in advance that the jobs can be processed within the operation time.
[Example] Business model
Job net registration count | 1,000 |
Scheduled start time | 10:00 |
Started job net count | 100 |
If not all jobs are completed within the operation time when you execute the above business model, change the business model by reviewing the details of job processing and putting multiple jobs into a single job to reduce the number of registered jobs. Then test the business model.
Reducing the number of jobs
Create jobs as in the examples below and design the system with as few jobs as possible.
Example 1: Register multiple commands as a single shell script
[Before improvement] One command is specified as one job
Job 1: date>>/var/tmp/gyoumu.log |
[After improvement] Specify multiple processes in a shell script as one job
Job 1: |
Before improvement, each of three commands (log date, process, and log date again) is registered as one job. Each time a job is executed, CPU usage increases due to overhead, which is caused by queue control processes (such as a limit of the maximum number of jobs executed simultaneously) and job execution environment generation processes (such as authentication, internal login processes, and preparation of standard output and error output files). As a result, it is possible that the CPU cannot be used for the original job processes. Putting three jobs into one reduces the processes executed for each job.
Example 2: Use the job step of JCL (Job Control Language)
Systemwalker Operation Manager enables you to create jobs in the job step configuration by using JCL.
You can specify multiple job steps in a single job and start shell scripts corresponding to the job steps. You can therefore configure multiple shell scripts as a single job.
For example, if there are 100 processes, with each consisting of 10 shell scripts as one job, 1000 jobs will have to be executed if job steps are not used. By using job steps, you can specify 10 shell scripts as one job, reducing the number of jobs to 100.
However, when using JCL to specify network jobs, you can specify the execution destination server for each job step. This may result in overhead due to communication with the execution destination server and transfer of job output files per job step. Therefore, putting multiple shell scripts into one job may not improve performance.
Refer to the Reference Manual for information on how to specify JCL.