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

Investigate using callback gRPC API

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Fully Compatible
    • Service Arch 2023-12-11

    Description

      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.

      Attachments

        Activity

          People

            erin.mcnulty@mongodb.com Erin McNulty
            erin.mcnulty@mongodb.com Erin McNulty
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: