-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: WiredTiger
-
None
-
Fully Compatible
-
ALL
With a heavy insert load and a secondary that is delayed the cache on the primary fills to 100% and operation rates drop. Here's a run showing behavior on the primary with the secondary delayed due to lag, but a similar effect is seen if the secondary is intentionally delayed using slaveDelay.
- from D-E the cache is 95% full and insert rate drops considerably, possibly due to application threads doing evictions?
- F-G and H-I seem to be seem to be related to checkpoints, possibly also in combination with the full cache?
- the rate of pages walked for eviction is generally very high, about 6k times the rate of pages actually evicted, suggesting that the issue is difficulty finding pages to evict to keep the cache at target levels
The high rate of pages walked for eviction suggests a connection to SERVER-22831, which also showed that symptom in connection with a full cache; however the above run was on 3.2.5-rc1 where SERVER-22831 was fixed, so it seems there is a different issue here.
The above test involved
- 3.2.5-rc1
- 2-node replica set
- 25 GB cache
- 100 GB oplog
- 5 threads inserting 800 byte documents into 5 separate collections
for t in $(seq 5); do mongo --eval " x = '' for (var i=0; i<800; i++) x += 'x' docs = [] for (var i=0; i<1000; i++) docs.push({x:x}) ops = [{ op: 'insert', ns: 'test.c' + '$t', doc: docs, }] res = benchRun({ ops: ops, seconds: 10000, parallel: 1 }) " & done wait
- is duplicated by
-
SERVER-18081 Tailing the oplog requires paging in the recently added entries under WiredTiger
- Closed
- is related to
-
SERVER-18081 Tailing the oplog requires paging in the recently added entries under WiredTiger
- Closed
-
SERVER-22831 Low query rate with heavy cache pressure and an idle collection
- Closed
-
SERVER-26988 Secondary delay causes large drop in insert rate on the primary due to cache full condition
- Closed