[SERVER-54804] Investigate performance improvements for command execution path Created: 26/Feb/21  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Amirsaman Memaripour Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: sa-remove-fv-backlog-22
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-55800 Reduce the number of futures in comma... Closed
Assigned Teams:
Service Arch
Participants:
Linked BF Score: 15

 Description   

SERVER-49107 and SERVER-51690 changed the command execution path for mongod and mongos, respectively, to use future continuations and allow asynchronous execution of database commands. These future continuations add some overhead to command execution and could reduce the average throughput by up to 8%.

This ticket should investigate possible improvements that reduce the cost of the future continuations. In particular, reducing the number of future continuations (i.e., the number of then and onError continuations), using fewer allocations in service_entry_point_common.cpp and strategy.cpp, and improving the infrastructure to construct recursive futures (see here) could help with reducing the execution overhead.

Acceptance criteria: writing new tickets that will improve the performance of command execution path, for both mongod and mongos.


Generated at Thu Feb 08 05:34:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.