-
Notifications
You must be signed in to change notification settings - Fork 266
Description
Describe the feature
What: Performance limitations
When implementing the AWS S3 Rust crate for S3 access on version 1.103+ (aws-sdk-s3
v1.104.0), there are performance limitations.
Proof of Issue
How do we prove a negative? By comparing to something else.
Test case A
Using the MinIO warp s3 testing tool, I have achieved line rate read (get) speed, on a single client over a single 100 Gb NIC. Specifically, I can repeatedly achieve 11.5 GiB/s and up to 12 GiB/s with a specific setup to local S3 compatible storage.
Test case B
Using the AWS sdk Rust stack (directly utilizing the AWS S3 crate version 1.103 and later), we are unable to achieve greater than 5.5 GiB read (get) speeds. This is using the IDENTICAL client system, IDENTICAL storage system, IDENTICAL network, etc. etc.
Details
After investigations using flame-graph to investigate, it is apparent that there are issues, which appear to occur in the AWS Smithy HTTP Client stack. There are few public options in this crate, but even after forking a copy and modifying private functions and structs to become public for modification, full performance was not achieved.
Use Case
The use case is ANY S3 use case where high-performance is desired.
Proposed Solution
Fix the HTTP client software stack.
Other Information
No response
Acknowledgements
- I may be able to implement this feature request
- This feature might incur a breaking change
A note for the community
Community Note
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
- If you are interested in working on this issue, please leave a comment