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

Improve performance of Locker::getLockerInfo

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Catalog and Routing
    • CAR Team 2024-05-27

      In performance testing the ServiceEntryPoint benchmark, which basically just calls the ping command, we see that a good chunk of time is spent in getLockerInfo. We spend 3% of the total time in the benchmark inside this function, mostly downstream of CurOp::_sumBlockedTimeTotal(), but in other areas as well.

      See if there are any potential ways to cache info here, or make this algorithmically tighter (do we need to emplace items into a vector then std::sort them?)

       

      Below screenshot is from running hotspot on a locally-derived perf.data. To do this yourself, you must X-forward your Linux workstation.

        1. screenshot-1.png
          111 kB
          Daniel Gomez Ferro
        2. screenshot-2.png
          129 kB
          Daniel Gomez Ferro
        3. Screenshot 2024-05-06 at 2.03.23 PM.png
          373 kB
          Blake Oler

            Assignee:
            daniel.gomezferro@mongodb.com Daniel Gomez Ferro
            Reporter:
            blake.oler@mongodb.com Blake Oler
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: