[SERVER-7345] Performance regression related to IO in v2.2 Created: 13/Oct/12 Updated: 10/Dec/14 Resolved: 16/Jan/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Performance, Storage |
| Affects Version/s: | 2.2.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Ben Becker | Assignee: | Ben Becker |
| Resolution: | Cannot Reproduce | Votes: | 1 |
| Labels: | performance | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Linux VM, 768MB of memory |
||
| Attachments: |
|
| Operating System: | Linux |
| Participants: |
| Description |
| Comments |
| Comment by Ben Becker [ 16/Jan/14 ] | ||||||||||||||||||||||||||||||||||||||
|
Retested on a Debian 7 VM running in VMWare Fusion 6, but cannot reproduce when comparing v2.0.9 to v2.2.6. Version 2.2.6 is consistently 10% faster than v2.0.9 (stddev is ~2%). v2.4.9 is on par with v2.2.6. | ||||||||||||||||||||||||||||||||||||||
| Comment by Ben Becker [ 15/Oct/12 ] | ||||||||||||||||||||||||||||||||||||||
|
@Tad, it's the same script, but I've modified a few thing since the initial run. Specifically 'sh.test' was used for a sharded version of the same test, and the count was simply due to lack of patience. Sorry for the confusion. Thanks for running on Windows. My focus was on a memory-constrained system, but perhaps IO is unrelated to this regression. | ||||||||||||||||||||||||||||||||||||||
| Comment by Tad Marshall [ 14/Oct/12 ] | ||||||||||||||||||||||||||||||||||||||
|
For comparison, I tried running the generate_random.js script on Windows. The script doesn't match the findOne() or stats() output above. It writes to namespace sh.test, not test.dataset, and it write 300,000 documents, not 236,742, all much smaller than the examples above. It create 4 indexes, not 3.
Ben, can you attach the script you used to generate this output? Comparing 2.0 with 2.2 on Windows 7 working in an empty directory on a RAID 0 partition with a 64 KB cluster size and 128 KB stripe size, 3.3 GHz six core CPU with 12 GB RAM, running this (different) script, 2.0 completed in 58.795 seconds and 2.2 took 69.575 seconds, so a bit over 18% slower. |