Hello,
On Mon, Sep 11, 2017 at 8:26 AM, Isuru Perera <[email protected]> wrote: > Hi Philippe, > > I'm sorry for not explaining my reasons sooner. > > So, the main reason for asking about a Netty Client Implementation for > HTTP Sampler is that Netty is supposed to be better at working under large > number of concurrent non blocking connections. > > The main issues we are having with current HTTP Sampler are: > > 1. Load Average of the JMeter instance is very high. See thread: > http://www.jmeter-archive.org/Maximum-number-of-concurrent-u > sers-td5726006.html > > <http://www.jmeter-archive.org/Maximum-number-of-concurrent-users-td5726006.html>. > Even for low number of concurrent users (eg, 300), if there is no timers > added to the test plan, the load average of the client goes beyond > acceptable limits. > > Not being able to go above 300 threads is due to wrong configuration, bad scripting practices, GUI usage ... For example, In our experience, on a 8vCPU, 16 Gb RAM, you can easily go up to 2000 / 3000 threads depending on test. Have a look on recent benchmarks done on last JMeter versions. So I think this particular case is not relevant. > > > 1. With the default value for "httpclient4.time_to_live", we see very > high response times. When we increase the time_to_live value for 30 minutes > to keep a fixed number of connections, the response times are much better. > See also http://www.jmeter-archive.org/Number-of-open-connections- > vary-with-time-tp5726000p5726123.html > > <http://www.jmeter-archive.org/Number-of-open-connections-vary-with-time-tp5726000p5726123.html> > > The default value for "httpclient4.time_to_live" is by definition a "default" value, we configure it to something that looks reasonable as an average, but it must of course be tuned depending on server. ----------------------------------------------------------------------------------------------------------------------------------------------- # Idle connection timeout (Milliseconds) to apply if the server does not send # Keep-Alive headers (default 0) # Set this > 0 to compensate for servers that don't send a Keep-Alive header # If <= 0, idle timeout will only apply if the server sends a Keep-Alive header #httpclient4.idletimeout=0 # Check connections if the elapsed time (Milliseconds) since the last # use of the connection exceed this value #httpclient4.validate_after_inactivity=1700 # TTL (in Milliseconds) represents an absolute value. # No matter what, the connection will not be re-used beyond its TTL. #httpclient4.time_to_live=2000 ----------------------------------------------------------------------------------------------------------------------------------------------- I'm wondering whether we could avoid above issues with a Netty Client > Implementation instead of the default client implementation in JMeter. > > WDYT? > I don't think so, as they are unrelated for me. But of course, this does not mean that your idea is bad. And of course Netty would be a good candidate for an AsyncHttpSampler or HTTP/2 as long as HC5. If you're willing to invest some time on HTTP/2 implementation of a sampler within JMeter (which could involve some rework in JMeter) you're more than welcome. Thanks for your proposal > Thank you. > > On Tue, Jul 25, 2017 at 10:44 AM, Isuru Perera <[email protected]> wrote: > >> Hi Philippe, >> >> I'm sorry about the delay. I'll send a mail explaining the reasons soon. >> >> On Fri, Jul 21, 2017 at 12:30 AM, Philippe Mouawad < >> [email protected]> wrote: >> >>> Hello, >>> Why do you want that ? >>> Thanks >>> >>> On Thu, Jul 20, 2017 at 3:35 PM, Isuru Perera <[email protected]> wrote: >>> >>> > Hi all, >>> > >>> > I found a Netty client implementation for HTTP2: >>> > https://github.com/syucream/jmeter-http2-plugin. However, I couldn't >>> find >>> > a >>> > Netty client implementation for HTTP Sampler. >>> > >>> > On Wed, Jul 19, 2017 at 3:32 PM, Isuru Perera <[email protected]> >>> wrote: >>> > >>> > > Hi Devs, >>> > > >>> > > Is there a Netty client implementation for HTTP Sampler either using >>> > Netty >>> > > directly or using https://github.com/AsyncHttpCl >>> ient/async-http-client? >>> > > >>> > > -- >>> > > Isuru Perera >>> > > about.me/chrishantha >>> > > >>> > >>> > >>> > >>> > -- >>> > Isuru Perera >>> > about.me/chrishantha >>> > >>> >>> >>> >>> -- >>> Cordialement. >>> Philippe Mouawad. >>> >> >> >> >> -- >> Isuru Perera >> about.me/chrishantha >> > > > > -- > Isuru Perera > about.me/chrishantha > -- Cordialement. Philippe Mouawad.
