-
Notifications
You must be signed in to change notification settings - Fork 924
firestore: add experimental option "sendWriteRequestsDelayMs" to enable write request batching in fewer http requests #8895
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Vertex AI Mock Responses Check
|
Size Report 1Affected Products
Test Logs |
Size Analysis Report 1This report is too large (297,347 characters) to be displayed here in a GitHub comment. Please use the below link to see the full report on Google Cloud Storage.Test Logs |
…knowledgementImprovement
…WriteRequestsOperation"
…nsent write requests
I did a quick performance test to see if there were any overall improvements to batching the write requests into fewer physical http requests. tl;dr there were only improvements noted on very slow ("3G") networks; the benefit on high-quality networks is negligible. To test this I called 4G (slow)Without batching: 2.4 seconds 3GWithout batching: 6.7 seconds Not surprisingly, it seems that the slower the network the greater the benefit of batching. An improvement of almost 1 second in 3G networks could be quite noticeable to a person sitting there waiting for operations to complete. This improvement would be magnified as the number of write requests increases and as the network performance decreases. |
@dconeybe This is great news. Thank you for your efforts here. |
This is a proposed fix to reduce the number of HTTP POST requests sent from the browser when the write pipeline is being replenished after each write acknowledgement. This is done by batching writes into a single HTTP request that get added into the pipeline due to fast write acknowledgements within a 250ms window. This fix is subject to change or being reverted entirely. It needs thorough review and testing.
Fixes: #5971