Jira Legacy |
---|
server | FOLIO Issue TrackerSystem JIRA |
---|
serverId | 6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc |
---|
key | PERF-152 |
---|
|
...
Test set shows that optimal configuration is 2 containers with 2 KAFKA NUMBER_OF_PARTITIONS. 3 containers with 2 nodes shows higher response times than even one container with one partition. (same for 3 nodes with 3 partitions).
Partitioning logic depends on event types. It means that with "one call test" in any case we'll use only one partition of mod-pubsub. As for CheckIn-CheckOut test we might use one partition more than other (or other two) that can explain differences in CPU usages on different nodes. So bigger partition number can help with complex workflows or with real users.
Version
mod-pubsub:1.3.3
Tests
Test# | Virtual Users | Duration | mod-pubsub setup |
---|
1 | 20 | 2 hours | 2 container 1 partition |
2 | 20 | 2 hours | 2 containers 2 partitions |
3 | 20 | 2 hours | 2 container 3 |
container 2 partitions |
4 | 20 | 2 hours | 3 containers 3 partitions |
Results comparison
For comparison purposes we'll use Checkformula to summarize Check-In controller and Check-Out controller (summaries all calls) , instead of using all calls list.
and and and vs 1 | 4 vs 3 |
| 50th pct | 75th pct |
2 and 375 % difference | 50th pct | 75th pct | 75 % difference | 50th pct | 75th pct |
3 and 175 % difference | 50th pct | 75th pct | 75 % difference |
Total Check- |
In Controller25434531%CheckIn Controller4150243%CheckIn Controller06604613% | CheckOut Controller-0717-0743-30%Out Controller1371,171 | 46% | Check-Out Controller | -2,859 | -7,347 | 16%763 | 2,079 | 40% | 4,951 | 6,191 | 169% | -7,451 | -9,506 | -475% |
CPU comparison during tests
Test 1: 2 containers, 1 partition
Node 1:
Node 2:
Test 2: 2 containers, 2 partitions
node 1:
node 2:
Test 3: 2 containers, 3 partitions
node 1:
node 2:
test 4
Test 4: 3 containers, 3 partitions
node 1
node 2
node 3