lock contention in mongo::DBClientReplicaSet::getServerAddress

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Test is:

      • 7 shard each with 3 member replicaset
      • traffic is 100% read (query to return single doc)
      • profiling with 3.0.1 mongos

      Here is output from linux perf for mongos

      -  19.95%  mongos  [kernel.kallsyms]    [k] _raw_spin_unlock_irqrestore
         - _raw_spin_unlock_irqrestore
            + 70.21% __wake_up_sync_key
            - 23.63% try_to_wake_up
                 wake_up_state
                 wake_futex
                 futex_wake
                 do_futex
                 sys_futex
                 system_call_fastpath
               - __lll_unlock_wake
                  - 35.44% mongo::DBClientReplicaSet::getServerAddress() const
                       mongo::DBClientCursor::_finishConsInit()
                       mongo::DBClientCursor::DBClientCursor(mongo::DBClientBase*, std::string const&, mongo::BSONObj, int, int, mongo::BSONObj const*, int, int)
                       mongo::ParallelSortClusteredCursor::startInit()
                       mongo::ParallelSortClusteredCursor::fullInit()
                       mongo::Strategy::queryOp(mongo::Request&)
                       mongo::Request::process(int)
                       mongo::ShardedMessageHandler::process(mongo::Message&, mongo::AbstractMessagingPort*, mongo::LastError*)
                       mongo::PortMessageServer::handleIncomingMsg(void*)
                       start_thread
      

              Assignee:
              Kaloian Manassiev
              Reporter:
              Rui Zhang (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: