Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Memory for API jobs is allocated on task start. The behavior of JVM memory allocation has changed between Java versions.
  • Consider the setting <job java_options="options"/> where options can include memory settings such as e.g. -Xms24m for initial 24MB memory for the JVM.
  • See How to manage the Java heap space
  • See How to increase the Java heap space

Performance Measurement

  • Measurement of Tasks vs. Orders
    • The default behavior for jobs in a job chain is to continue the task for the respective job for another 5 seconds after the order passed the task.
    • This behavior is intended as an optimization that allows the same task (system process) to be re-used for the next order entering the job node.
    • Therefore it is pointless to measure the duration of individual tasks, but instead the time consumption of orders has to be considered, i.e. the time required to pass an individual job node or to complete the job chain.
  • Use of Profilers
    • For Java API jobs the use of profilers is a proper means to check time consumption of an individual job execution. 
    • However, such tools are often unable to cope with the complexity of parallel processes in a system.
    • Last but not least such tools cause an impact of their own on performance. 
    • Therefore we recommend to use profilers for frequency analysis of code in individual job implementations, but not for measurement of JobScheduler perforrmance.
  • Recommendations
    • For performance measurement use the timestamps provided from the JobScheduler database for orders:
      • table SCHEDULER_ORDER_HISTORY: columns START_TIME and END_TIME provide the time required to complete the job chain
      • table SCHEDULER_ORDER_STEP_HISTORY: columns START_TIME and END_TIME provide the time required to complete the respective job node.
    • In addition you can use our own logging by use of the spooler_log.info() method that is available from the JobScheduler API or by logging timestamps to individual files.

...

Reference Documentation

...