Skip to content

PerformanceData

stockiNail edited this page Oct 12, 2015 · 3 revisions

Introduction

This section wants to show some key performance indicators collecting during the JEM tests (on machine with 4 cores, 4GB of memory, SUN JDK 1.6).

The goal is to provide some the resources consumption during the submit of the job inside JEM and the time spent to start the process which will execute the job, by the different JCL implementations.

Here is the picture which shows all the steps to submit the job and the number will be used explain the performance indicators.

http://www.pepstock.org/resources/performanceFlow.png

The steps are:

  1. submitting the JOB into JEM
  2. JCL parsing and checking
  3. Input queue and process creation to execute the job
  4. process destroy

Submitting (1)

When you submit the job, it's important to know the time spent to put the job into the JEM queue and the amount of memory that the submitter used.

The memory usage is important mainly on the environment where you try to concentrate few machines to submit into JEM and when the submitter waits for the job ending.

JEM provides 4 kinds of submitter (see here for more details.

Let's have a look about the data:

Submitter Technology Time Memory
jem_submit Java 1305 ms ~67 MB
jem_localhost_submit Java 382 ms ~57 MB
jem_http_submit Java 1632 ms ~72 MB
jem_submit_js NodeJS 343 ms ~19 MB

where

  • time is the average time spent to put the job into JEM queue in milliseconds
  • memory is the average of resident set size used by the submit process

Executing a job (2,3,4)

To evaluate the performance to execute a job, here you can see the data on different phases,explained as following:

  1. Time spent to parse and check the JCL (tagged as JCLCheck)
  2. Time spent to stay into input queue (tagged as InputQueue)
  3. Time spent to create the process to execute the job (tagged as ProcessCreation)
  4. Time spent to destroy the process, used to execute the job (tagged as ProcessDestroy)

All the previous phases are influenced by the different JCL you use for your job. All the out-of-the-box JCL are tested: ANT, SpringBatch and JBoss JBPM.

Average time

Let's have a look at the average time spent on different phases for different JCL:

http://www.pepstock.org/resources/average.jpg

Let's go into the figures:

Type JCLCheck InputQueue ProcessCreation ProcessDestroy
SpringBatch 92 ms 320 ms 2344 ms 58 ms
JBoss JBPM 258 ms 193 ms 2712 ms 45 ms
ANT 75 ms 298 ms 963 ms 22 ms

Minimum time

Let's have a look at the minimum time spent on different phases for different JCL:

http://www.pepstock.org/resources/minimum.jpg

Let's go into the figures:

Type JCLCheck InputQueue ProcessCreation ProcessDestroy
SpringBatch 22 ms 88 ms 2106 ms 15 ms
JBoss JBPM 62 ms 94 ms 2465 ms 15 ms
ANT 31 ms 78 ms 837 ms 15 ms

Maximum time

Let's have a look at the maximum time spent on different phases for different JCL:

http://www.pepstock.org/resources/maximum.jpg

Let's go into the figures:

Type JCLCheck InputQueue ProcessCreation ProcessDestroy
SpringBatch 962 ms 2513 ms 4242 ms 795 ms
JBoss JBPM 1452 ms 297 ms 3042 ms 94 ms
ANT 764 ms 1054 ms 1482 ms 297 ms
Clone this wiki locally