Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
3.2.0
-
Fully Compatible
-
ALL
-
Platforms E (01/08/16)
Description
ISSUE SUMMARY
In SERVER-20991, direct_io was enabled by default on Windows machines. This change reduced the memory consumption of mongod processes, but may cause a degradation in performance. This change to the default setting of direct_io was reverted in this ticket.
USER IMPACT
With direct_io enabled, when the WiredTiger cache becomes full, the insertion rate may drop significantly.
WORKAROUNDS
To correct the performance regression in MongoDB 3.2.0, start mongod with
--wiredTigerEngineConfigString="direct_io="
|
To maintain to the performance characteristics of MongoDB 3.2.0 in later versions, start mongod with
--wiredTigerEngineConfigString="direct_io=(data)"
|
This setting may also be configured in the mongod configuration file:
storage:
|
wiredTiger:
|
engineConfig:
|
configString: direct_io=(data)
|
AFFECTED VERSIONS
MongoDB 3.2.0
FIX VERSION
The fix is included in the 3.2.1 production release.
Original description
- AWS Instance - c4.4xlarge (16 CPU, 30GB RAM)
- journal and data files configured on separate drives
- 5 threads inserting small records in batches of 1000
- default cache settings
- syncdelay 10 (probably not relevant as checkpoints are very long anyway)
- test run under rc6, same code as ga
3.0.7
3.2.0
- initially 3.2.0 has somewhat higher insert rate
- after cache fills 3.0.7 insert rate remains constant but 3.2.0 drops by about 5x, to about 25% of rate under 3.0.7
Averages insert rates during initial and cache full portions of run:
initial cache full
|
|
3.0.7 152 k/s 135 k/s
|
3.2.0 178 k/s 33 k/s
|