Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-5843

Investigate socket write performance

    • 3
    • 3
    • Not Needed
    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a Node.js driver engineer
      I want to take a closer look at socket write performance regressions
      So that I can improve the performance of writing

      User Impact

      • All users, socket writes are on every driver path

      Dependencies

      • None

      Unknowns

      • What is causing writes to be slower after implementing the new socket layer?
        • Should we write in chunks? Currently, we construct whole messages
        • Is there a difference between resolving the write promise in the callback to write or using the return value of write to determine if the promise can already be resolved?

      Acceptance Criteria

      Implementation Requirements

      • Try to determine what change caused the write regression
      • Try implementing the suggestions in the unknowns to see if they can improve performance

      Testing Requirements

      • Use the performance build variant to confirm changes improved performance

      Documentation Requirements

      • None

      Follow Up Requirements

      • None

            Assignee:
            neal.beeken@mongodb.com Neal Beeken
            Reporter:
            neal.beeken@mongodb.com Neal Beeken
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: