Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-26674

Over 25% regression on mongodb using YCSB workload

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.3.10, 3.3.12, 3.3.15, 3.4.0-rc0
    • Fix Version/s: 3.4.0-rc3
    • Component/s: Performance
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Steps To Reproduce:
      Hide

      use YCSB 0.6.0 workload with 12 threads

      Show
      use YCSB 0.6.0 workload with 12 threads
    • Sprint:
      Platforms 2016-10-31, Platforms 2016-11-21

      Description

      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

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                16 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: