Investigate mod-pubsub Multi-node behavior report IN PROGRESS




PERF-152 - Getting issue details... STATUS




Overview

The purpose of this test set is to compare different runs of CheckIn-CheckOut workflow test with different set of mod-pubsub. As we find - to enable multi node on mod-pubsub is needed to change NUMBER_OF_PARTITIONS value to bigger one. In test set we comparing different numbers of nodes and partitions. 


Summary

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 UsersDurationmod-pubsub setup
1202 hours2 container 1 partition
2202 hours2 containers 2 partitions
3202 hours2 container 3 partitions
4202 hours3 containers 3 partitions

Results comparison

For comparison purposes we'll use formula to summarize  Check-In controller and Check-Out controller, instead of using all calls list.

1 vs 22 vs 33 vs 14 vs 3

50th pct75th pct75 % difference50th pct75th pct75 % difference50th pct75th pct75 % difference50th pct75th pct75 % difference
Total Check-in-0,449-0,69-99%-0,222-0,172-33%-0,671-0,862-137%2,4163,018341%
Total Check-out3,1884,112120%1,7632,07940%4,9516,191169%-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:  3 containers, 3 partitions

node 1

node 2

node 3