Table of Contents |
---|
Overview
Bulk Edits - Establish a performance baseline for combined bulk updates PERF-480 in the Orchid release that has architectural changes that were implemented in UXPROD-3842. The goal is to make sure that bulk edits can be performed simultaneously.
- How long does it take to export 100, 1000, 2500, 5000 records?
- Use it for up to 5 concurrent users.
- Look for a memory trend trnend and CPU usage
...
Summary.
Test report for Bulk Edits users-app functionality 20222023-1009-2615.
- 5k records per user, 5 users simultaneously (25k records total) can be uploaded in about 6 min 13 seconds,
Possible job duration degradation compared to NOLANA realese is caused by adding of new mod-bulk-operation module and by fully changing of bulk-edit architecture. - The files with identifiers should be strictly determined.
- The memory of all modules during the tests for 5000 records with 5 parallel was stable, the memory gap in figure 1 was cause by the import data process.Figure 1 was caused by restarting several modules before DI job run.
- Instance CPU usage
- maximal value for text 4VU (0.1-1-2.5k-5k) was 26%
- maximal value for text 5VU (0.1-1-2.5k-5k) was 27%
- Service CPU usage for test 5VU (0.1-1-2.5k-5k)
- CPU of mod-bulk-operations 126%, for all other modules, did not exceed 22%.
- RDS CPU utilization did not exceed 43% for 5jobs 5000 records and 34% for 4jobs 5k.
Recommendations & Jiras
For further testing Users' bulk editing can be performed with 10k records
Update data records
Test Runs
Total processing time of upload and edit - commit changes. Units =minutes:seconds
Number of virtual user/ Records | 1VU | 2VU | 3VU | 4VU | 5VU |
---|---|---|---|---|---|
100 records | 00:01:05 | 00:01:03 00:01:03 | 00:01:03 00:01:03 00:01:05 | 00:01:03 00:01:03 00:01:03 00:01:04 | 00:01:04 00:01:04. 00:01:04 00:01:04 00:01:04 |
1000 records | 00:01:37 | 00:01:59 00:01:35 | 00:02:02 00:02:05 00:01:36 | 00:02:02 00:02:02 00:01:59 00:02:00 | 00:02:11 00:02:13 00:02:13 00:02:05 00:02:06 |
2500 records | 00:03:28 | 00:03:30 00:03:31 | 00:03:42 00:03:42 00:01:10(*1) | 00:00:23(*2) 00:03:47 00:03:46 00:03:46 | 00:03:48 00:04:03 00:03:44 00:04:04 00:04:04 |
5000 records | 00:05:13 | 00:06:36 (*3) | 00:06:48 00:06:50 00:06:50 (*3) | 00:06:3244 00:06:3236 00:0206:2939. 00:0206:29 46 (*3) | 00:06:13 00:06:13 00:06:11 00:06:08 00:06:13 (*3) |
(*1) Duplicate barcodes in CSV input data, 1200 out of 2500 records were processed
(*2) Index 546 out of bounds for length 13 (ArrayIndexOutOfBoundsException) Jira Legacy server System JiraJIRA serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key MODEXPW-306
(*3) Was running as a separate test to avoid duplication of input data
Comparison with previous results
5VU, Records | Nolana | Orchid |
---|---|---|
2500 | 2 min 9 sec | 4 minutes 4 seconds |
5000 records | 3 min 47 sec | 6minutes 13 seconds |
Possible job duration degradation caused by adding of new mod-bulk-operation module and by fully changing of bulk-edit architecture.
Memory usage
...
The time range marked with # Several modules were restarted and then data import jobs were running on the environment (DI jobs were not part of Bulk Edits testing).
Memory usage during the testing with 1-5 concurrent and 100-1000-2500-5000 recordsFigure 2 shows memory
Memory usage during the testing with 2-5 concurrent and 5000 recordsFigure 3 shows memory
Memory usage for the same time range as Figure 2the figure below, but only involved services were selected.
The time range marked with # Several modules were restarted and then data import jobs were running on the environment
Figure 1
Figure 2
Figure 3
Instance CPU utilization
Figure 4. CPU instance utilization for 1 up to 5 Vu with 100-1000-2500-5000 records
The test 5VU(0.1-1-2.5k-5k) was restarted because there were errors in the input data(Barcodes duplication)
Figure 5. CPU instance utilization for 2 up to5 to 5 Vu with 5000 records
Service CPU utilization
Figure 6. CPU instance utilization for 1 up to 5 Vu with 100-1000-2500-5000 records
Figure 7. CPU instance utilization for 1 2 up to 5 Vu with 100-1000-2500-VU with 5000 records
RDS CPU utilization
For all tests - RDS CPU utilization exceeds 40% exceeds 40% (for tests with 5k users user records). For the tests with 2500 user records did not exceed 27%.
Database connections
Errors in logs during testing
(*1) Duplicate barcodes in CSV input data, 1200 out of 2500 records were processed
(*2) Index 546 out of bounds for length 13 (ArrayIndexOutOfBoundsException)
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
Appendix
Infrastructure
PTF -environment ncp5 [ environment name]
...
Modules memory and CPU parameters:
Module | Task Def. Revision | Module Version | Task Count | Mem Hard Limit | Mem Soft limit | CPU units | Xmx | MetaspaceSize | MaxMetaspaceSize |
ncp5-pvt | |||||||||
Wed Sep 13 09:54:48 UTC 2023 | |||||||||
mod-agreements | 6 |
mod-agreements:5.5.2 | 2 | 1592 | 1488 | 128 | 968 | 384 | 512 |
mod-bulk-operations | 17 |
mod-bulk-operations:1.0.6 | 2 | 3072 | 2600 | 1024 | 1536 | 384 | 512 |
mod-users-bl | 8 |
mod-users-bl:7.5.0 | 2 | 1440 | 1152 | 512 | 922 | 88 | 128 |
mod-inventory-storage | 12 |
mod-inventory-storage:26.0.0 | 2 | 4096 | 3690 | 2048 | 3076 | 384 | 512 |
mod-data-export-worker | 10 |
mod-data-export-worker:3.0.13 | 1 | 3072 | 2800 | 1024 | 2048 | 384 | 512 |
mod-inventory | 12 |
mod-inventory:20.0.6 | 2 | 2880 | 2592 | 1024 | 1814 | 384 | 512 |
nginx-okapi | 7 |
nginx-okapi:2023.06.14 | 2 | 1024 | 896 | 128 | 0 | 0 | 0 |
okapi-b | 8 |
okapi:5.0.1 | 3 | 1684 | 1440 | 1024 | 922 | 384 | 512 |
mod-notes | 6 |
mod-notes:5.0.1 | 2 | 1024 | 896 | 128 | 952 | 384 | 512 |
mod-data-export-spring | 8 |
mod-data-export-spring:2.0.2 | 1 | 2048 | 1844 | 256 | 1536 | 384 | 512 |