Details
-
Feature
-
Status: Released (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
Description
Starting Situation
- Performance generally covers the following components:
- The web service that might access a database to query data.
- The network that is used to transfer the data from the web service to the browser.
- The browser that renders results.
- Performance depends on what is measured, what browser is being used and what CPU capabilites are available:
- Performance measurements are done for the Jobs View, Job Chains View and Orders View. We measure performance for >=200 objects.
- Browsers provide different performance results, which includes that not one browser product is generally faster than a competitor product but that specific functions will take more or less time. Therefore no data are provided for specific browser products.
- CPU is crucial as it is used to render objects in the browser.
Performance Measurements
- Measurements are specified for
- release 1.12.4
- use with an Intel i7 2.6 GHz CPU with 2 cores. This translates to the fact that 50% of the CPU (1 core) can be used by the client browser process.
- Gigabit network connection
- use of Chrome 67 64bit
- use of ca. 500 MB up to 2 GB main memory by the browser
- All objects are fully rendered in list view:
- up to 1000 items in the result list are rendered in a single page. Results are tremendously better if smaller chunks of objects for rendering are used, e.g. displaying only 50 objects per page, see JOC Cockpit profile settings.
- all details are expanded. Results improve heavily if details are collapsed.
- The attached PowerShell Script for Windows/Linux Create-PerformanceTestCases.ps1 has been used to create the test objects.
- Display of Job Chains in list view
- Display a single job chain with details expanded:
- 200 job nodes: ca. 2s
- 400 job nodes: ca. 3s
- 600 job nodes: ca. 6s
- 1000 job nodes: ca. 6s
- Display a number of job chains with details expanded:
- 200 job chains each with 3 job nodes: ca. 20s (i.e. display of 600 job nodes; with details collapsed: ca. 5s)
- 400 job chains each with 3 job nodes: ca. 50s (i.e. display of 1200 job nodes; with details collapsed: ca. 10s)
- 600 job chains each with 3 job nodes: ca. 75s (i.e. display of 1800 job nodes; with details collapsed: ca 15s)
- Display a single job chain with details expanded:
- Display of Jobs in list view
- Display a number of jobs from a single folder:
- 200 jobs: ca. 2s
- 400 jobs: ca. 8s
- 600 jobs: ca. 20s
- 1000 jobs: ca. 33s
- Display a number of jobs from a single folder:
- Display of Orders in list view
- Display orders for a single job chain with details expanded:
- 200 orders: ca. 5s
- 400 orders: ca. 12s
- 600 orders: ca. 15s
- 1000 orders: ca. 30s
- Display orders for a single job chain with details expanded:
General Performance Recommendations
- Limit the number of objects per folder
- Storing some 200 objects, e.g. jobs, in the same folder should be fine for most environments. The exact number depends on your server and client (browser) capabilities.
- For a larger number of objects use subfolders that can be created for any hierarchy level.
- Check the cores that are available from your CPU.
- Keep in mind that the browser tab that holds the JOC Cockpit cannot make use of more than 1 core.
- Therefore if you use 4 cores on a medium sized machine JOC Cockpit can use only 25% of your machines CPU capacity.