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

SSL performance regression

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.14, 4.0.9, 4.1.9, 3.4.24
    • Affects Version/s: 3.6.0, 3.6.9, 4.0.0, 4.0.5
    • Component/s: Security
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v4.0, v3.6, v3.4
    • Security 2019-01-28, Security 2019-02-11, Security 2019-02-25, Security 2019-03-11
    • 0

      Workload with many threads doing simple small point queries shows a large performance regression between 3.5.8 and 3.5.9, and all subsequent 3.6 and 4.0 versions. On a 24-core bare metal machine the regression on one test is about 25%; on a larger 64-core virtualized machine (m3.4xlarge) the regression is about 70%.

      A git bisect identifies the following commit as the culprit:

      923ad3ba8160f2cd614e1258ef19294bd502af78 is the first bad commit
      SERVER-29403 Implement TransportLayerASIO

      Profiling identifies a lot of time spent in the following stacks:

      This appear to be due to excessive calls to ERR_clear_error from ASIO.

        1. stacks.png
          285 kB
          Bruce Lucas

            Assignee:
            spencer.jackson@mongodb.com Spencer Jackson
            Reporter:
            bruce.lucas@mongodb.com Bruce Lucas (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            27 Start watching this issue

              Created:
              Updated:
              Resolved: