[SERVER-46574] Performance Regression after upgrading from 3.6 to 4.0 or 4.2 Created: 03/Mar/20 Updated: 29/Mar/20 Resolved: 29/Mar/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | 4.2.3, 4.0.16 |
| Fix Version/s: | None |
| Type: | Question | Priority: | Major - P3 |
| Reporter: | Vinicius Grippa | Assignee: | Dmitry Agranat |
| Resolution: | Incomplete | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
Running YCSB it was possible to identify a performance regression around 18% for MongoDB 4.0 and 4.2 for read operations compared to 3.6. The test used:
The tests were run on t2.xlarge machines on AWS where the conditions below were met: 3 - mongoD 1- config server 1- mongoS + YCSB The dataset fits in memory and there was no resource contention. Using perf(attached the flame graph) it seems that transaction features are the culprit.
|
| Comments |
| Comment by Dmitry Agranat [ 29/Mar/20 ] |
|
This is not a problem at all. Whenever you have these tests executed and the requested information is collected, just reopen this ticket and we'll be happy to continue this investigation. Just in case, I've create this secure portal for you to upload all the data. Regards, |
| Comment by Vinicius Grippa [ 26/Mar/20 ] |
|
Hi Dmitry, I will see if I can run the tests again since I destroyed my test environment. For now, I dont have a deadline for running the tests again. |
| Comment by Dmitry Agranat [ 22/Mar/20 ] |
|
We still need additional information to diagnose the problem. If this is still an issue for you, would you please provide the diagnositic.data directory from the primary's dbpath covering the test on 3.6 and 4.0? Thanks, |
| Comment by Kelsey Schubert [ 06/Mar/20 ] |
|
Thanks for the report and the accompanying flame graph. Our internal CI tests for performance do not show this regression running a 100% read ycsb load. Consequently, we'd like to understand a bit about what is going on that explains this discrepancy. Would you please provide the diagnositic.data directory from the primary's dbpath covering the test on 3.6 and 4.0? We've also noted a couple other differences we noted which may or may not explain this discrepancy. First, we noticed you're running on instances with burstable credits, which isn't ideal for stable performance results. Second, we generally focus our performance tests on w:1 and w:majority rather than w:0 since it's not a recommended configuration for most users. I'm noting these differences in case they help us discover why we are seeing different results once we have a chance to look at the diagnostic.data. Thank you for your help and interest in improving the performance of MongoDB, |