You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After porting IO-bound (lot of aws-s3 uploads) project to falcon without any code modification it shows outstanding concurrency. S3 uploads take most of the request processing time.
After that I decided to change default http request to async-aws-ruby gem which uses Async::Http::Endpoint and Async::Http::Request. And there is no difference between official aws::s3(generic http) and patched async::aws::sdk.
Is there because ruby 3.x has better async support and there is no more need to use async-http in general case http scenario?
Hello. Actually, I don't have a good answer to your question. However, the main advantage of correct usage of Async::HTTP is (1) HTTP/2 multiplexing, and (2) persistent connections amortise connect cost. However it must be implemented correctly and I don't know if it's true for the async aws implementation.
To see what is going on, you can enable debug logging. CONSOLE_LEVEL=debug falcon serve etc. It may give you some insight as to the internal behaviour. It's important to remember, web latency is significantly higher than processor instruction overhead. So even if one library is more or less efficient, it might not be visible.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
After porting IO-bound (lot of aws-s3 uploads) project to falcon without any code modification it shows outstanding concurrency. S3 uploads take most of the request processing time.
After that I decided to change default http request to async-aws-ruby gem which uses
Async::Http::EndpointandAsync::Http::Request. And there is no difference between officialaws::s3(generic http) and patchedasync::aws::sdk.Is there because ruby 3.x has better async support and there is no more need to use async-http in general case http scenario?
All reactions