hc-httpclient-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Feist <dfe...@gmail.com>
Subject Re: Thread Contention (due to use of proxys) in HttpClient 4.3
Date Thu, 22 May 2014 10:05:08 GMT
BTW, is there a jira issue for this I can reference?

thanks!

On Wed, May 21, 2014 at 8:30 PM, Daniel Feist <dfeist@gmail.com> wrote:
>>> - 4.3 is faster than 3.1 when cpu is constrained (+5%)
>>> - 4.3 is slower than 3.1 when cpu is constrained (-5%)
>>> - With your changes 4.3 performs same as 3.1 on 32 core
>>
>> This seems only to be the case with certain concurrency levels (20 and
>> 200), which is suspicious.
>
> Agree, weird, but as long as 4.x is at least as fast as 3.1 (it is),
> then there are many other reasons to forget about 3.1.
>
>>> -  I'm unsure why your change to eliminate proxy would have such an
>>> impact with the 10 thread case.  (+65%), good though.
>>
>> Could be a fluke. I see no good reason for such a significant
>> difference.
>
> I doubt it's a fluke was quite clear and repeatable.  Not important to
> understand fully i don't think anyway
>
>> The patch has been committed to SVN trunk and 4.3.x branch.
>>
>> http://svn.apache.org/r1596649
>> http://svn.apache.org/r1596653
>>
>> Thank you so much for reporting the problem and helping fix it.
>
> Great!  This wasn't a significant problem, just a potential optimisation.
>
> Dan
>
>
>>
>> Cheers
>>
>> Oleg
>>
>>> Dan
>>>
>>> On Wed, May 21, 2014 at 4:02 PM, Oleg Kalnichevski <olegk@apache.org> wrote:
>>> > On Wed, 2014-05-21 at 15:40 +0100, Daniel Feist wrote:
>>> >> Here are the results!!  Interesting...
>>> >>
>>> >> I reran everything:
>>> >> - Added JVM options to even out garbage collection.
>>> >> - Ran each test for minutes 5 minutes.
>>> >> - Used Jetty SelectChannelConnector, same as you always used.  (other
>>> >> one is faster, but less stable).
>>> >>
>>> >> https://docs.google.com/a/mulesoft.com/spreadsheets/d/1j2TCeAQmrkWLZyQfetzmtqmUDaGQBiDAr20hC9gEfYE/edit#gid=590558615
>>> >>
>>> >> Configurations of httpClient are as you have in svn accept for 4.3.3
>>> >> (not minimal) which is configured as follows:
>>> >>
>>> >> The non-minimal configuration for 4.3.3 is:
>>> >> final RequestConfig requestConfig = RequestConfig.custom()
>>> >>         .setStaleConnectionCheckEnabled(false)
>>> >>         .setExpectContinueEnabled(false)
>>> >>         .build();
>>> >> this.httpclient = HttpClients.custom()
>>> >>         .setConnectionManager(this.mgr)
>>> >>         .disableContentCompression()
>>> >>         .setDefaultRequestConfig(requestConfig)
>>> >>         .build();
>>> >>
>>> >>
>>> >> Dan
>>> >>
>>> >
>>> > Hi Daniel,
>>> >
>>> > What I am seeing makes me think we are on the right track, aren't we? I
>>> > find HC 3.1 performance with 32 CPU cores a little suspect, but HC 3.x
>>> > has a completely different connection pool manager implementation, so I
>>> > do not see this as anything worth looking into.
>>> >
>>> > I'll merge my changes into the official SVN repository shortly. I
>>> > personally would consider the issue resolved unless you think there is
>>> > still something that needs investigation.
>>> >
>>> > Cheers
>>> >
>>> > Oleg
>>> >
>>> >
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscribe@hc.apache.org
For additional commands, e-mail: httpclient-users-help@hc.apache.org


Mime
View raw message