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

Performance regression in new mongos query path (about 17% worse than 3.0)

    XMLWordPrintable

    Details

    • Operating System:
      ALL
    • Sprint:
      QuInt B (11/02/15), QuInt C (11/23/15)
    • Case:
    • Linked BF Score:
      0

      Description

      During the 3.1 development cycle, the implementation of find and getMore on mongos was rewritten under SERVER-15176. This new mongos query path plugs into the TaskExecutor event loop framework. It issues find, getMore, and killCursors commands to the shards using the new asynchronous networking layer. Our automated industry benchmarks performance loop shows that the new query path is about 17% slower than its 3.0 predecessor. This ticket tracks the work to achieve parity with 3.0 on the industry benchmark workload, which could involve optimizations to the asynchronous networking code, the task executor layer, or the new query path itself.

      Original Description

      Read performance regression found in system-perf EVG test. This is due to following change:
      https://github.com/mongodb/mongo/commit/b1982bb7fb610def9b23ab08b0317e6f409c1784

      this enable new mongos query path for legacy read, therefore, here we are showing the performance issue with new path.

      A single findOne test with a single sharded cluster with benchRun

      results for b1982b:

      mongos> db.serverBuildInfo().gitVersion
      b1982bb7fb610def9b23ab08b0317e6f409c1784
      ....
       
      All Results:
      +--------------------------------+----------+--------------+----------+------------------------------+
      | Test                           | Thread   | Throughput   | Pass?    | Comment                      |
      |--------------------------------+----------+--------------+----------+------------------------------|
      | "findOne"                      |       32 | 13236.845747 | true     | ""                           |
      | "findOne"                      |       64 | 12156.284979 | true     | ""                           |
      +--------------------------------+----------+--------------+----------+------------------------------+
      

      32e55, the parent SHA

      All Results:
      +--------------------------------+----------+--------------+----------+------------------------------+
      | Test                           | Thread   | Throughput   | Pass?    | Comment                      |
      |--------------------------------+----------+--------------+----------+------------------------------|
      | "findOne"                      |       32 | 35064.731049 | true     | ""                           |
      | "findOne"                      |       64 | 35064.437971 | true     | ""                           |
      +--------------------------------+----------+--------------+----------+------------------------------+
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-sharding Backlog - Sharding Team
              Reporter:
              rui.zhang Rui Zhang
              Participants:
              Votes:
              2 Vote for this issue
              Watchers:
              28 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: