Investigate using callback gRPC API

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Done
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Service Arch 2023-12-11
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      When doing initial performance testing in SERVER-80572, we found that gRPC was a lot slower than ASIO, and saw through flamegraphs that a lot of that slowness was due to gRPC acquiring a mutex shared by the whole process to synchronize access to the completion queue.

      After looking around, we saw on the gRPC performance page that using the sync server is not suggested for performance-sensitive applications. gRPC instead provides a callback API, that is supposed to be easier to use than the async API but faster than the sync API.

      Investigate the changes required to implement the callback api instead of the sync api, and run initial performance benchmarks on them.

            Assignee:
            Erin McNulty
            Reporter:
            Erin McNulty
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: