Huge performance degradation caused by enabling replSet

Hi all,

I’m currently running mongodb 4.0.6 and playing with upgrade to 4.2.8. After some benchmarks I’ve noticed really strange and huge performance degradation.

Tests are run using https://github.com/idealo/mongodb-performance-test.git:

java -jar ./latest-version/mongodb-performance-test.jar -m insert -o 10000000 -t 100 -db test -c perf -port 28888 -h mongoserver

When running 4.0.6 standalone server with:
docker run -ti -v /srv/mongo/test-mongo:/srv/mongodb/ --net host mongo:4.0.6 mongod --bind_ip_all --port=28888 --storageEngine=wiredTiger --dbpath=/srv/mongodb/ --journal --oplogSize=8192 --enableMajorityReadConcern=0

I got:
mean rate = 174014.88 calls/second

When I start as replica set (no other replicas added, just start with replSet and call rs.initiate():
docker run -ti -v /srv/mongo/test-mongo:/srv/mongodb/ --net host mongo:4.0.6 mongod --bind_ip_all --port=28888 --storageEngine=wiredTiger --dbpath=/srv/mongodb/ --journal --oplogSize=8192 --enableMajorityReadConcern=0 --replSet wtf

I got:
mean rate = 44243.62 calls/second

Huge drop, but fine, RS is enabled. Now let’s try it with 4.2.8:

docker run -ti -v /srv/mongo/test-mongo:/srv/mongodb/ --net host mongo:4.2.8 mongod --bind_ip_all --port=28888 --dbpath=/srv/mongodb/ --enableMajorityReadConcern=0:

mean rate = 167455.01 calls/second

and same with replset enabled:
docker run -ti -v /srv/mongo/test-mongo:/srv/mongodb/ --net host mongo:4.2.8 mongod --bind_ip_all --port=28888 --dbpath=/srv/mongodb/ --enableMajorityReadConcern=0 --replSet wtf:

mean rate = 10868.81 calls/second

Huge drop to 10kcalls/second.

Can anyone give me some insight what’s going on?