HCM Extracts
and Payroll Performance can differ due to many reasons. One of the key areas
would be multi-threading. In Fusion HCM, not all processes are enabled for multi-threading, i.e., certain processes can be enabled for multithreaded by running those
transactions to run in parallel to improve the performance. A sub-optimum level
for an environment can be set as parameter
1, and then this should be increased.
HCM
Extracts and Payroll settings for threads and chunks size parameters are set in the Manage Payroll Process Configuration
Task. Whereas for Benefits the navigation would be Navigator - Benefits - Evaluation and Reporting > Manage Batch Parameters.
Threads
are a number of parallel workers that
executing the job at the same time. Whereas, a chunk
size is a number of employees processed
under the worker, before retrieving the next chunk.
Let us
consider some examples on threads and Chunks over the performance of Payroll:
Test Case 1: In an organization of 24000 employee’s
payroll, configured to run using the 60 threads and 600 chunks, payroll takes
5.2 Hours to complete
In the above case, Payroll uses only 40 threads with
the chunk size of 600 on 60 threads for the size
of 24000 employees, i.e. (24000/600 = 40
threads). The remaining 20 threads would be not performing any task. Runtime
for the payroll for 24000 employees reflects the 40 threads. For better
performance, it would be better to drop the chunk size to 400.
Test Case 2: when the system set to use 15
threads and 20 chunks for the same set of employees (i.e., 24000 employees), payroll cycle took 7.9 Hours to complete.
In the
above case, each worker thread would process nearly 80 employees per chunk,
i.e. (24000/(15*20) = 80). By increasing the
thread count will improve the performance by leaving the chunk size to default
(20) or could set to 50.
Logging is very important to get most of
the diagnostic information related to either Payroll or Extracts batch
processes, which could be enabled through
UI. By enabling the logging, these processes will have a detrimental effect on
performance. Hence, logging should be enabled
during the investigation phase and if required for a small sample of employees/data. Logging parameter should be removed, once all the required information
is gathered.For
Benefits processes, there is an Audit Log parameter which is used to
troubleshoot by creating extra diagnostic information. Consider what
this has been set to if experiencing performance issues.
More
information on Payroll Logging can be found
on Document ID 1536245.1