Docker Swarm Mode VS Docker Individual Performance

Hi All,

i’m doing in performance test between Swarm Mode and docker individual. i’m build server clustering for swam mode with 3 Virtual Machine and 1 VM docker convensional. with jmeter as below.

image

Physical server
image

3 Virtual Machine (vm-C71, vm-C72, vm-C73) as swarm mode.
image
[root@vm-C71 data]# docker info
Containers: 4
Running: 4
Paused: 0
Stopped: 0
Images: 4
Server Version: 18.06.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
NodeID: km0aop9gezfzbwh1p7a3vdb3o
Is Manager: true
ClusterID: 9dv9jsxsg2se5d49le4csfv55
Managers: 3
Nodes: 3
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 10
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Force Rotate: 0
Autolock Managers: false
Root Rotation In Progress: false
Node Address: 10.10.230.211
Manager Addresses:
10.10.230.208:2377
10.10.230.209:2377
10.10.230.211:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-862.14.4.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.639GiB
Name: vm-C71
ID: KJUM:SWRJ:UFME:IA7O:UKGD:35DH:KFHL:MEAS:SD47:PH2S:OUOX:BQWC
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

1 Virtual Machine (VM-C) just install docker with docker-compose
image
[root@vm-C data]# docker info
Containers: 8
Running: 8
Paused: 0
Stopped: 0
Images: 9
Server Version: 18.06.1-ce
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-514.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 23.39GiB
Name: vm-C
ID: 5JAD:YQOD:R7VB:3CEU:FVKK:ZZNE:MIYL:7ILG:HLVZ:FL4X:7EEJ:473L
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

I test both with JMeter with Thread group user 100, Ramp-Up Period 10, loop 1, Graph setting interval 1000. as i’m get result as below.


So from JMeter results as above i get conclusion that docker performance with swarm mode not better than docker individual.

Question

Is this correct? if not, what should i do with docker configuration or setting?

Nobody ever replied?