[SERVER-12304] Query concurrency regression on windows Created: 09/Jan/14  Updated: 27/Apr/15  Resolved: 08/Feb/15

Status: Closed
Project: Core Server
Component/s: Concurrency, Querying
Affects Version/s: 2.5.4
Fix Version/s: None

Type: Bug Priority: Critical - P2
Reporter: Davide Italiano Assignee: Mark Benvenuto
Resolution: Won't Fix Votes: 1
Labels: 26qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Server 2008 R2/Linux Red Hat 6.4
Linux ip-10-232-37-146.ec2.internal 2.6.32-358.14.1.el6.x86_64 #1 SMP Mon Jun 17 15:54:20 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux


Issue Links:
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Server 2.7.5, Server 2.7.6, Platform 00 2/20/15
Participants:

 Description   

The concurrency of query subsystem is somewhat lower in 2.6.
This is most evident on Windows, but affect Linux and Solaris as well.

Example queries that show the slowdown in throughput (ops/s):

Platform and version Query 1 Query 2 Query 3
Red Hat 2.4.8 2160.56090475 2009.83491425 1159.27502825
Red Hat master 1924.269752 1792.2990925 447.8258245

githash of master: 06851f4859a61019a17147ea96c4e6d9462f354b



 Comments   
Comment by Daniel Pasette (Inactive) [ 08/Feb/15 ]

Closing as there is no specific information or next steps to work with.

Comment by Daniel Pasette (Inactive) [ 27/Feb/14 ]

This was partially fixed, but leaving this open for further investigation as outlined in previous ticket.

Comment by Mark Benvenuto [ 27/Feb/14 ]

I evaluated Native Windows Condition Variables with Critical Sections, and Reader-Writer locks. Both have worse performance then our existing implementation.

I have code for various changes to try:
1. Remove lock in Windows time_support.cpp on read
2. Change some mutexes to SimpleMutex
3. Parallellize file flush

They do not make a measurable impact on the micro benchmarks but may have a larger impact on QA-408. I am willing to try with a patch.

Comment by Githook User [ 18/Feb/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-12304 Query concurrency – 2.6 regression
Branch: master
https://github.com/mongodb/mongo/commit/40b314894c7de615b09d633774f9146e4b097b02

Comment by Daniel Pasette (Inactive) [ 10/Jan/14 ]

mark.benvenuto, can you take a look at the most simple example of a regression on windows?

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