[SERVER-31998] Perf regression with mongodump integration tests Created: 16/Nov/17  Updated: 27/Oct/23  Resolved: 05/Jan/18

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: 3.6.0-rc4
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: David Golden Assignee: Backlog - Storage Execution Team
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

darwin Sierra, linux Ubuntu 17.10


Attachments: Text File output-3.4.10.txt     Text File output-3.6.0-rc4.txt    
Assigned Teams:
Storage Execution
Operating System: ALL
Steps To Reproduce:
  • Install Go (my test used Go 1.9.2)
  • Clone the mongo-tools repo
  • cd into the directory and check out commit 9c973cbf
  • run `source ./set_gopath.sh`
  • Set the MONGOD environment variable to a MongoDB connection string URI for the replica set to test
  • Run `time go test -v ./mongodump -test.types=unit,integration`
Participants:

 Description   

When running the mongodump integration tests, I noticed a significant performance difference between 3.4.10 replica sets (WT) and 3.6.0-rc4 replica sets (both WT and MMAPv1). On my MBP, the difference was 50% to 100%+. On my 20-core desktop, the difference was ~ 18%. The workloads involved are tiny.



 Comments   
Comment by Ian Whalen (Inactive) [ 05/Jan/18 ]

Thanks for filing this David. We're closing as Works as Designed because:

1) We're just doing more work in the drop/create code paths given the two-phase drops.
2) The size of the workload is somewhat synthetic and means the percentage you're seeing is abnormally large. On a larger dataset we'd expect a much smaller percentage.

Comment by Mathias Stearn [ 14/Dec/17 ]

My initial profiling indicated that this workload spends the majority of its time dropping and creating databases. Pushing to storage team to decide how/if we want to address this.

Comment by David Golden [ 16/Nov/17 ]

Added output for the two configurations as tested on Ubuntu 17.10. Each file shows the command line parameters for the nodes and the timing results of two runs.

Generated at Thu Feb 08 04:28:51 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.