Use 1MB HTTP buffers to avoid frequent send syscalls#65028
Conversation
|
This is an automated comment for commit 446e28d with description of existing statuses. It's updated for the latest CI running ⏳ Click here to open a full report in a separate page
Successful checks
|
|
Fuzzers build has failed with: |
|
Also note that we store http sessions (which are also used in s3 client) which hold this buffer in http connection pool and and we should check that total memory usage dramatically will not increase dramatically. Most likely not because it will add only additional few GBs in the worst case. |
AFAIK that buffer is reset and freed when session is stored in session pool. |
|
Failed test is indeed related, easily reproducable: |
|
FYI, this made (Disclaimer: I didn't check this directly, only looked at the timing from the queries above vs commit history.) |
Reading from a table that works over an S3 disk is done mostly with syscalls that read 1MB, but writing to this table is done with 8KB of data per syscall. It is limited by
HTTP_DEFAULT_BUFFER_SIZE.There are a few options we can improve it:
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
This change was reverted
All HTTP buffers are now 1MB instead of 8KB to avoid too frequent send syscalls
CI Settings (Only check the boxes if you know what you are doing):