Skip to content
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

Increase maximum upload chunk to 9MB #6377

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

zxcve123
Copy link

@zxcve123 zxcve123 commented Jan 28, 2025

On embedded system running virtual machines, I observe significant upload performance with higher upload chunk size.

Pull Request Checklist

Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:

See the detailed list in the contributing guide.

  • C++ Guidelines
  • Doxygen docs
  • Unit tests
  • No unwanted commits/changes
  • Descriptive title/description
    • PR is single purpose
    • Related issue listed
  • Comments in source
  • No typos
  • Update changelog
  • Not work-in-progress
  • External references or docs updated
  • Self review of PR done
  • Any breaking changes?

On embedded system running virtual machines, I observe significant upload performance with higher upload chunk size.
@github-actions github-actions bot added Azure.Core Community Contribution Community members are working on the issue customer-reported Issues that are reported by GitHub users external to the Azure organization. labels Jan 28, 2025
Copy link

Thank you for your contribution @zxcve123! We will review the pull request and get back to you soon.

@azure-sdk
Copy link
Collaborator

API change check

API changes are not detected in this pull request.

@antkmsft
Copy link
Member

@zxcve123, do you happen to have any performance test for this scenario, so we could see the difference before and after? If not, would it be possible for you to write a piece of code that could demonstrate that?
Also, why 9 - not 8 or 10? How did you find out?

@zxcve123
Copy link
Author

zxcve123 commented Feb 19, 2025

@zxcve123, do you happen to have any performance test for this scenario, so we could see the difference before and after? If not, would it be possible for you to write a piece of code that could demonstrate that? Also, why 9 - not 8 or 10? How did you find out?

Upload Results for 16GB in seconds:
Original Performance Test:

           54.47                   53.762                52.855

           Current Performance Test:
           
           43.736                44.327                44.864

The reason i took it 9MB is to allow stream length till 8MB. .we have a check in code at WinHttpRequest::Upload:

// Consider using `MaximumUploadChunkSize` here, after some perf measurements
size_t uploadChunkSize = DefaultUploadChunkSize;
if (streamLength < MaximumUploadChunkSize)
{
  uploadChunkSize = static_cast<size_t>(streamLength);
}

Before this change it defaults to 64KB for anything greater than 1MB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure.Core Community Contribution Community members are working on the issue customer-reported Issues that are reported by GitHub users external to the Azure organization.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants