QAID # 16741 Published
Question / Problem:
Can KTM Server be forced to process a specific number of Batches at a time?
Answer / Solution:
More details on the specifics of how KTM performs parallel processing can be found by opening the Service Configuration utility, pressing F1 to bring up Help, then going to "Processing Batches with Server ¦ Multiprocessor Support and Parallel Processing". Additional helpful details can be found by opening a script window in Project Builder, clicking Help ¦ Scripting Help, and then going to "Server Events Scripting ¦ Batch Processing ¦ Parallelization."
The important thing to understand before making changes is that the KTM Server Scheduler tries to optimize whether to open more Batches at a time, or devote more resources toward processing each Batch. These settings manually force the scheduler to work within a certain number of concurrently processing Batches. In some situations this may result in higher throughput, but in others it may result in lower throughput. If unsure, removing these Registry Keys will allow the scheduler to revert to the default of dynamically optimizing the processes.
The settings discussed below are located in the Registry at:
for x86 systems and for x64 systems, in
MaxUsedBatches is a setting that tells the scheduler the maximum number of Batches to process concurrently, and has existed since the release of KTM 5.0.
MinUsedBatches is a setting that tells the scheduler the minimum number of Batches to process concurrently and was added in KTM 5.5 R2 and KTM 188.8.131.52.
Valid values for both Keys are
1 - <Number_of_Cores>.
To force the scheduler to process a specific number of Batches at a time, or to troubleshoot issues with the scheduler, set
MaxUsedBatches to the same number so that the scheduler is not able to dynamically change the number of Batches concurrently processing.
MinUsedBatchesregistry key do not exist by default so these registry keys would need to created using the String Value registry type under the registry hives listed above.