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

Supported versions of libcurl for HttpClient #18212

Closed
normj opened this issue Aug 18, 2016 · 4 comments
Closed

Supported versions of libcurl for HttpClient #18212

normj opened this issue Aug 18, 2016 · 4 comments
Labels
area-System.Net question Answer questions and provide assistance, not an issue with source code or documentation.
Milestone

Comments

@normj
Copy link

normj commented Aug 18, 2016

I’m doing some performance analysis for the AWS SDK for .NET which relies on the HttpClient. Performance and reliability seems to differ widely depending on the version of libcurl.

My test consist of 10 tasks repeatedly making http calls using the same HttpClient. For Mac OSX using libcurl 7.43 and Ubuntu 16.04 using libcurl 7.47 performance seems fine. Ubuntu 14.04 using libcurl 7.35 request per second is in the ball park but I frequently get errors with the response stream being closed as I’m reading the response back. RHEL 7.2 using libcurl 7.29 I don’t get any errors but the performance is an order magnitude slower than the other platforms.

Is there a minimum version of libcurl that you are recommending to have when using HttpClient on Linux?

@normj normj changed the title Supported versions of libcurl Supported versions of libcurl for HttpClient Aug 18, 2016
@stephentoub
Copy link
Member

but I frequently get errors with the response stream being closed as I’m reading the response back

Any chance you could provide a small repro of this, without the AWS SDK involved (just to help isolate the issue)? The only issue potentially related to this that I'm aware of is https://github.com/dotnet/corefx/issues/9006, though it sounds slightly different than what you describe; it's also not specific to a particular libcurl, but I could certainly imagine changes in the libcurl implementation from version to version that could exacerbate it.

I don’t get any errors but the performance is an order magnitude slower than the other platforms.

We're aware of one bug in that version of libcurl that could be related:
https://github.com/dotnet/corefx/issues/9751
Does this sound like what you're seeing?

Is there a minimum version of libcurl that you are recommending to have when using HttpClient on Linux?

We've done functional testing on all of the versions you mention. But for best results, the newer the better. There's of course just general goodness you get from newer versions, e.g. bug fixes, but newer versions also come with more functionality. For example, more recent versions of libcurl support HTTP/2, and System.Net.Http will take advantage of that if the libcurl in use supports it.

@CRCinAU
Copy link

CRCinAU commented Aug 19, 2016

@normj - noting the reference to RHEL 7.2 and the link to #17731, is it possible to test the patched libcurl packages I posted to that report?

I believe it fixes the problem with the dotnet core calls to libcurl - however have no further data other than our internal testing.

@normj
Copy link
Author

normj commented Aug 19, 2016

Thanks for the info. I kind of figured newer was better. I'll try and create a simple repo case.

@stephentoub stephentoub removed their assignment Sep 30, 2016
@Priya91
Copy link
Contributor

Priya91 commented Feb 21, 2017

@normj Were you able to get a repro for this issue? Closing the issue due to inactivity, please reopen when there's more information. Thanks!

@Priya91 Priya91 closed this as completed Feb 21, 2017
@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 2.0.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net question Answer questions and provide assistance, not an issue with source code or documentation.
Projects
None yet
Development

No branches or pull requests

5 participants