Return-Path: X-Original-To: apmail-jmeter-dev-archive@minotaur.apache.org Delivered-To: apmail-jmeter-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AE9BA9120 for ; Mon, 28 May 2012 20:06:29 +0000 (UTC) Received: (qmail 301 invoked by uid 500); 28 May 2012 20:06:29 -0000 Delivered-To: apmail-jmeter-dev-archive@jmeter.apache.org Received: (qmail 258 invoked by uid 500); 28 May 2012 20:06:29 -0000 Mailing-List: contact dev-help@jmeter.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jmeter.apache.org Delivered-To: mailing list dev@jmeter.apache.org Received: (qmail 249 invoked by uid 99); 28 May 2012 20:06:29 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 May 2012 20:06:29 +0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [217.150.250.48] (HELO kalnich.nine.ch) (217.150.250.48) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 28 May 2012 20:06:20 +0000 Received: from [192.168.1.147] (77-57-197-206.dclient.hispeed.ch [77.57.197.206]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by kalnich.nine.ch (Postfix) with ESMTPSA id B7D50B81800 for ; Mon, 28 May 2012 22:05:59 +0200 (CEST) Message-ID: <1338235558.3487.75.camel@ubuntu> Subject: Re: JMeter Performance evolution : My 2 cents From: Oleg Kalnichevski To: dev@jmeter.apache.org Date: Mon, 28 May 2012 22:05:58 +0200 In-Reply-To: References: <4FBAB8FE.9020800@apache.org> <4FC13C26.7040007@apache.org> <4FC155AE.7080102@apache.org> <1338127040.3487.38.camel@ubuntu> <4FC24C78.5070206@apache.org> <1338142319.3487.58.camel@ubuntu> <1338156149.3487.68.camel@ubuntu> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 Content-Transfer-Encoding: 8bit Mime-Version: 1.0 On Mon, 2012-05-28 at 10:35 +0100, sebb wrote: > On 27 May 2012 23:02, Oleg Kalnichevski wrote: > > On Sun, 2012-05-27 at 23:08 +0200, Philippe Mouawad wrote: > >> Hello Oleg,milamber, > >> Thanks for your investigations. > >> > >> Oleg, Regarding connectionmanager, do you think it's better to use one > >> connmgr for all vus ? > >> Today we use one per VU but we reuse httpclient instance when downloading > >> embedded résources in parallèl mode. > >> What would be the compromise ? > >> > >> Thanks > >> Regards > >> Philippe > >> > > > > Hi Philippe > > > > It really depends on what you define as 'better' and what your > > objectives are. If your goal is to emulate load generated by 20 browser > > instances as realistic as possible you should be using a separate > > connection manager per virtual user. (In this case, though, you should > > be using a pooling connection configured to allow up to 2 simultaneous > > connections to the same host instead of a basic connection manager with > > a single connection). > > Why would 2 connections be needed? > Commons browsers usually allocate 2 concurrent connections per host. I think a pooling connection manager with two connection per route limit would be a more realistic simulation of a browser. Naturally this would also require two worker threads per virtual user. > > If your goal is to generate as much load as > > possible using 20 virtual users you should be using a pooling connection > > manager configured to allow up to 20 connections to the same host shared > > by all virtual users. > > If 2 connections are needed for the first case, wouldn't we need some > spare connections in this case too? > If one virtual user is represented by one thread there is no point having more connections than the total number of worker threads. Oleg > > You should also take into account that Java standard HttpUrlConnection > > is not well suited for the former scenario as it always uses one global > > connection pool for all its instances. This is likely to be the reason > > why the HttpUrlConnection based sampler tends to yield the highest > > request per second in the performance tests. > > JMeter has historically tried to ensure each VU behaves completely > independently. > I don't think we should change that by default. > > However, it might be worth considering optionally using a shared > connection pool. > >