Details
-
Bug
-
Resolution: Done
-
Major - P3
-
2.8.0-rc1
-
Fully Compatible
-
ALL
Description
it seems mmapv1 insert with multiple collections does not benefit from CLL
test details
- standalone mongod with or without journal
- single member replica set with or without journal
- two insert function as in the attached js file, test is done with 20 thread insert into 20 collection or single collection,
- test with 2.8 master (6cab2a29c7dcb56ce132c200321bd1424f977f55)
- check insert throughput from benchRun results
r = run_multi_col();print(r.insert);
Observation
- 2.6.5 and master (with single collection) have around 24-26% impact when enable replica
- master with multiple collections show 68-72% performance impact when enable replication
- it seems master benefit a lot from multiple collection insert in standalone mode, while replica set doesn't.
results (insert throughput)
# master with --nojournal, insert into multiple Collections
|
> master_noJournal_standalone
|
115225.80987608673
|
> master_noJournal_1memberReplica
|
32323.614478819432
|
> (master_noJournal_1memberReplica - master_noJournal_standalone)/ master_noJournal_standalone
|
-0.719475918515304
|
|
|
# master with journal, insert into multiple Collections
|
> master_withJournal_standalone
|
86472.48634513422
|
> master_withJournal_1memberReplica
|
27146.357440379936
|
> (master_withJournal_1memberReplica - master_withJournal_standalone)/ master_withJournal_standalone
|
> -0.6860694240705448
|
|
|
# 2.6.5 with --nojournal, insert into multiple Collections
|
> v265_noJournal_standalone = s3.insert
|
35971.029062602414
|
> v265_noJournal_1memberReplica = s2.insert
|
27461.29467821579
|
> (v265_noJournal_1memberReplica - v265_noJournal_standalone)/ v265_noJournal_standalone
|
-0.23657189149569932
|
|
|
# 2.6.5 with journal, insert into multiple Collections
|
> v265_withJournal_standalone
|
31201.989380142608
|
> v265_withJournal_1memberReplica
|
23050.56460661642
|
> (v265_withJournal_1memberReplica - v265_withJournal_standalone)/ v265_withJournal_standalone
|
> -0.26124695685954796
|
|
|
# master, insert into single Collections
|
> master_withJournal_1memberReplica_1col
|
19600.78767307458
|
> master_withJournal_standalone_1col
|
26011.588679734243
|
> (master_withJournal_1memberReplica_1col - master_withJournal_standalone_1col) / master_withJournal_standalone_1col
|
-0.24645941797681695
|