-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 3.3.10, 3.3.12, 3.3.15, 3.4.0-rc0
-
Component/s: Performance
-
None
-
Fully Compatible
-
ALL
-
-
Platforms 2016-10-31, Platforms 2016-11-21
Over 25% regression on mongodb after release 3.3.9.
Workload used: YCSB 0.6.0
Mongodb downloaded from mongodb website.
perf shows that over 22.98% is spent on _raw_spin_lock
stack trace is from 3.4.0.1.rc0
#0 0x00003fffa6e11b18 in __lll_lock_wait () from /lib64/power8/libpthread.so.0 #1 0x00003fffa6e0b004 in pthread_mutex_lock () from /lib64/power8/libpthread.so.0 #2 0x000000002305e3c8 in void mongo::transport::TransportLayerManager::_foreach<mongo::transport::TransportLayerManager::sessionStats()::{lambda(mongo::transport::TransportLayer*)#1}>(mongo::transport::TransportLayerManager::sessionStats()::{lambda(mongo::transport::TransportLayer*)#1}&&) [clone .constprop.22] () #3 0x000000002305e5f4 in mongo::transport::TransportLayerManager::sessionStats() () #4 0x000000002311552c in mongo::(anonymous namespace)::threadStateChange() () #5 0x00000000230ccff8 in mongo::markThreadIdle() () #6 0x000000002203e140 in mongo::ServiceEntryPointMongod::_sessionLoop(mongo::transport::Session*) () #7 0x000000002203ea30 in std::_Function_handler<void (mongo::transport::Session*), mongo::ServiceEntryPointMongod::startSession(mongo::transport::Session&&)::{lambda(mongo::transport::Session*)#1}>::_M_invoke(std::_Any_data const&, mongo::transport::Session*&&) () #8 0x0000000023057a30 in mongo::(anonymous namespace)::runFunc(void*) () #9 0x00003fffa6e08728 in start_thread () from /lib64/power8/libpthread.so.0 #10 0x00003fffa6d39ec0 in clone () from /lib64/power8/libc.so.6
Here are the results.
Mongo version | Throughput |
---|---|
3.3.8 | 294363.31 ops/sec |
3.3.8 | 294640.07 ops/sec |
3.3.9 | 281662.31 ops/sec |
3.3.9 | 281137.29 ops/sec |
3.3.10 | 222114.44 ops/sec |
3.3.12 | 200225.45 ops/sec |
3.3.15 | 197709.52 ops/sec |
3.4 | 199829.95 ops/sec |
- related to
-
SERVER-26944 Make transport::Session decorable
- Closed