JMeter Load Testing of Tomcat through Apache Proxy
JMeter Load Testing of Tomcat through Apache Proxy
am 15.02.2010 19:37:39 von Dan Denton
Hello all. Iâ=99m trying to load test a login page served by tomcat 6,
proxied through apache 2 with mod_proxy. Iâ=99m using JMeter 2.3.4 to
conduct the testing. My thread group consists of 500 sessions , and
the sample is a GET of a simple login page.
JMeter returns errors for a varying percentage of the samples. The
errors returned are generally the following:
java.net.ConnectException: Connection refused: connect at
java.net.PlainSocketImpl.socketConnect(Native Method) at
java.net.PlainSocketImpl.doConnect(Unknown Source) at
java.net.PlainSocketImpl.connectToAddress(Unknown Source) at
java.net.PlainSocketImpl.connect(Unknown Source) at
java.net.SocksSocketImpl.connect(Unknown Source) at
java.net.Socket.connect(Unknown Source) at
com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source) at
com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(Unkno wn Source)
at sun.net.NetworkClient.doConnect(Unknown Source) at
sun.net.www.http.HttpClient.openServer(Unknown Source) at
sun.net.www.http.HttpClient.openServer(Unknown Source) at
sun.net.www.protocol.https.HttpsClient.(Unknown Source) at
sun.net.www.protocol.https.HttpsClient.New(Unknown Source) at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectio n.getNewHttpCli=
ent(Unknown
Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unk nown
Source) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnectio n.co=
nnect(Unknown
Source) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Un know=
n
Source) at org.apache.jmeter.protocol.http.sampler.HTTPSampler.sample(H TTPS=
ampler.java:490)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPSampl=
erBase.java:1037)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPSampl=
erBase.java:1023)
at org.apache.jmeter.threads.JMeterThread.process_sampler(JMete rThread.java=
:346)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243)
at java.lang.Thread.run(Unknown Source)
The issues Iâ=99m having are twofold. Iâ=99m having difficulty de=
termining
if these errors are coming from JMeter or Tomcat, as theyâ=99re displa=
yed
in the response window of JMeter. The developers think the error is
coming from JMeter given the last few lines of the trace above. Given
that I'm not a programmer I should probably take their word for it,
but why would JMeter show this error as the response?
Second, I've tried tweaking my process counts (startservers, maxspare,
etc...) with no change in the outcome. I can mitigate the issue by
pointing JMeter directly to tomcat, but I need this product to go
through our apache proxy for SSL.
Any help on this would be greatly appreciated.
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 15.02.2010 19:53:11 von Robert Hall
Dan,
On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
> Hello all. I=92m trying to load test a login page served by tomcat 6,
> proxied through apache 2 with mod_proxy. I=92m using JMeter 2.3.4 to
> conduct the testing. My thread group consists of 500 sessions , and
> the sample is a GET of a simple login page.
>
> JMeter returns errors for a varying percentage of the samples. The
> errors returned are generally the following:
>
> at =20
> org=20
> .apache=20
> .jmeter=20
> .protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBas e.java:=20
> 1037)
> at =20
> org=20
> .apache=20
> .jmeter=20
> .protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBas e.java:=20
> 1023)
> at =20
> org=20
> .apache=20
> .jmeter.threads.JMeterThread.process_sampler(JMeterThread.ja va:346)
> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243)
> at java.lang.Thread.run(Unknown Source)
>
> The issues I=92m having are twofold. I=92m having difficulty =
determining
> if these errors are coming from JMeter or Tomcat, as they=92re =
displayed
> in the response window of JMeter. The developers think the error is
> coming from JMeter given the last few lines of the trace above.
The developers are correct.
> Given that I'm not a programmer I should probably take their word =20
> for it,
> but why would JMeter show this error as the response?
The system you are running JMeter on isn't able to handle the load.
> Second, I've tried tweaking my process counts (startservers, maxspare,
> etc...) with no change in the outcome. I can mitigate the issue by
> pointing JMeter directly to tomcat, but I need this product to go
> through our apache proxy for SSL.
>
> Any help on this would be greatly appreciated.
There must be some JMeter setting that will work otherwise you would =20
be unable
to access the webapp over SSL from the system that is hosting JMeter.
Try reducing everything to a count of 1 in JMeter.
If that doesn't work, there is a problem with the SSL config in =20
JMeter; google "jmeter ssl".
Otherwise, try spreading the load our across several JMeter instances =20=
installed on separate systems.
- Robert=
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 17.02.2010 21:06:36 von Dan Denton
On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall wrote:
> Dan,
>
> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>
>> Hello all. Iâ=99m trying to load test a login page served by tomcat=
6,
>> proxied through apache 2 with mod_proxy. Iâ=99m using JMeter 2.3.4 =
to
>> conduct the testing. My thread group consists of 500 sessions , and
>> the sample is a GET of a simple login page.
>>
>> JMeter returns errors for a varying percentage of the samples. The
>> errors returned are generally the following:
>>
>> at
>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPSampl=
erBase.java:1037)
>> at
>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPSampl=
erBase.java:1023)
>> at
>> org.apache.jmeter.threads.JMeterThread.process_sampler(JMete rThread.java=
:346)
>> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243)
>> at java.lang.Thread.run(Unknown Source)
>>
>> The issues Iâ=99m having are twofold. Iâ=99m having difficulty=
determining
>> if these errors are coming from JMeter or Tomcat, as theyâ=99re dis=
played
>> in the response window of JMeter. The developers think the error is
>> coming from JMeter given the last few lines of the trace above.
>
> The developers are correct.
>
>> Given that I'm not a programmer I should probably take their word for it=
,
>> but why would JMeter show this error as the response?
>
> The system you are running JMeter on isn't able to handle the load.
>
>> Second, I've tried tweaking my process counts (startservers, maxspare,
>> etc...) with no change in the outcome. I can mitigate the issue by
>> pointing JMeter directly to tomcat, but I need this product to go
>> through our apache proxy for SSL.
>>
>> Any help on this would be greatly appreciated.
>
> There must be some JMeter setting that will work otherwise you would be
> unable
> to access the webapp over SSL from the system that is hosting JMeter.
>
> Try reducing everything to a count of 1 in JMeter.
>
> If that doesn't work, there is a problem with the SSL config in JMeter;
> google "jmeter ssl".
>
> Otherwise, try spreading the load our across several JMeter instances
> installed on separate systems.
>
> - Robert
> ------------------------------------------------------------ ---------
> The official User-To-User support forum of the Apache HTTP Server Project=
..
> See for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> Â " Â from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>
Thanks for the reply Robert. I've set up JMeter 4 slaves, each with at
least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
whether it's 1 node simulating 400 sessions or 4 nodes each simulating
100, I still see these errors at 400 sessions or more. Also, when I
use multiple slaves to execute the test, the percentage of failures
when simulating 400 sessions is greater and the failures happen
earlier in the test.
This makes me think that this isn't just an issue with the systems
running JMeter, but I'm not sure. I've tried tweaking my SSL Session
Timeout as well, but with no effect. I did this because watching the
mod_status page on this apache instance, I can see the current session
count top out at about 330 every time, then subside. My guess was that
SSL sessions were somehow bottlenecking.
If anyone has any other suggestions, they would be greatly appreciated.
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 17.02.2010 21:26:14 von Robert Hall
On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall =20=
> wrote:
>> Dan,
>>
>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>
>>> Hello all. I=92m trying to load test a login page served by tomcat =
6,
>>> proxied through apache 2 with mod_proxy. I=92m using JMeter 2.3.4 to
>>> conduct the testing. My thread group consists of 500 sessions , and
>>> the sample is a GET of a simple login page.
>>>
>>> JMeter returns errors for a varying percentage of the samples. The
>>> errors returned are generally the following:
>>>
>>> at
>>> org=20
>>> .apache=20
>>> .jmeter=20
>>> .protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBas e.java:=20=
>>> 1037)
>>> at
>>> org=20
>>> .apache=20
>>> .jmeter=20
>>> .protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBas e.java:=20=
>>> 1023)
>>> at
>>> org=20
>>> .apache=20
>>> .jmeter.threads.JMeterThread.process_sampler(JMeterThread.ja va:346)
>>> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243)
>>> at java.lang.Thread.run(Unknown Source)
>>>
>>> The issues I=92m having are twofold. I=92m having difficulty =
determining
>>> if these errors are coming from JMeter or Tomcat, as they=92re =20
>>> displayed
>>> in the response window of JMeter. The developers think the error is
>>> coming from JMeter given the last few lines of the trace above.
>>
>> The developers are correct.
>>
>>> Given that I'm not a programmer I should probably take their word =20=
>>> for it,
>>> but why would JMeter show this error as the response?
>>
>> The system you are running JMeter on isn't able to handle the load.
>>
>>> Second, I've tried tweaking my process counts (startservers, =20
>>> maxspare,
>>> etc...) with no change in the outcome. I can mitigate the issue by
>>> pointing JMeter directly to tomcat, but I need this product to go
>>> through our apache proxy for SSL.
>>>
>>> Any help on this would be greatly appreciated.
>>
>> There must be some JMeter setting that will work otherwise you =20
>> would be
>> unable
>> to access the webapp over SSL from the system that is hosting JMeter.
>>
>> Try reducing everything to a count of 1 in JMeter.
>>
>> If that doesn't work, there is a problem with the SSL config in =20
>> JMeter;
>> google "jmeter ssl".
>>
>> Otherwise, try spreading the load our across several JMeter instances
>> installed on separate systems.
>>
>> - Robert
>>
>
> Thanks for the reply Robert. I've set up JMeter 4 slaves, each with at
> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
> whether it's 1 node simulating 400 sessions or 4 nodes each simulating
> 100, I still see these errors at 400 sessions or more. Also, when I
> use multiple slaves to execute the test, the percentage of failures
> when simulating 400 sessions is greater and the failures happen
> earlier in the test.
>
> This makes me think that this isn't just an issue with the systems
> running JMeter, but I'm not sure. I've tried tweaking my SSL Session
> Timeout as well, but with no effect. I did this because watching the
> mod_status page on this apache instance, I can see the current session
> count top out at about 330 every time, then subside. My guess was that
> SSL sessions were somehow bottlenecking.
>
> If anyone has any other suggestions, they would be greatly =20
> appreciated.
>
Dan, this sounds like an Apache httpd configuration issue.
Check the values for the 'KeepAliveTimeout' and 'KeepAlive' =20
directives, http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
I suggest using "KeepAlive On" and "KeepAliveTimeout 1"; the latter =20
is probably defaulted to 15.
- Robert=
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 17.02.2010 21:50:25 von Dan Denton
On Wed, Feb 17, 2010 at 2:26 PM, Robert Hall wrote:
>
> On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
>
>> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall wrot=
e:
>>>
>>> Dan,
>>>
>>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>>
>>>> Hello all. Iâ=99m trying to load test a login page served by tomc=
at 6,
>>>> proxied through apache 2 with mod_proxy. Iâ=99m using JMeter 2.3.=
4 to
>>>> conduct the testing. My thread group consists of 500 sessions , and
>>>> the sample is a GET of a simple login page.
>>>>
>>>> JMeter returns errors for a varying percentage of the samples. The
>>>> errors returned are generally the following:
>>>>
>>>> at
>>>>
>>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPSam=
plerBase.java:1037)
>>>> at
>>>>
>>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPSam=
plerBase.java:1023)
>>>> at
>>>>
>>>> org.apache.jmeter.threads.JMeterThread.process_sampler(JMete rThread.ja=
va:346)
>>>> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243)
>>>> at java.lang.Thread.run(Unknown Source)
>>>>
>>>> The issues Iâ=99m having are twofold. Iâ=99m having difficul=
ty determining
>>>> if these errors are coming from JMeter or Tomcat, as theyâ=99re d=
isplayed
>>>> in the response window of JMeter. The developers think the error is
>>>> coming from JMeter given the last few lines of the trace above.
>>>
>>> The developers are correct.
>>>
>>>> Given that I'm not a programmer I should probably take their word for
>>>> it,
>>>> but why would JMeter show this error as the response?
>>>
>>> The system you are running JMeter on isn't able to handle the load.
>>>
>>>> Second, I've tried tweaking my process counts (startservers, maxspare,
>>>> etc...) with no change in the outcome. I can mitigate the issue by
>>>> pointing JMeter directly to tomcat, but I need this product to go
>>>> through our apache proxy for SSL.
>>>>
>>>> Any help on this would be greatly appreciated.
>>>
>>> There must be some JMeter setting that will work otherwise you would be
>>> unable
>>> to access the webapp over SSL from the system that is hosting JMeter.
>>>
>>> Try reducing everything to a count of 1 in JMeter.
>>>
>>> If that doesn't work, there is a problem with the SSL config in JMeter;
>>> google "jmeter ssl".
>>>
>>> Otherwise, try spreading the load our across several JMeter instances
>>> installed on separate systems.
>>>
>>> - Robert
>>>
>>
>> Thanks for the reply Robert. I've set up JMeter 4 slaves, each with at
>> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
>> whether it's 1 node simulating 400 sessions or 4 nodes each simulating
>> 100, I still see these errors at 400 sessions or more. Also, when I
>> use multiple slaves to execute the test, the percentage of failures
>> when simulating 400 sessions is greater and the failures happen
>> earlier in the test.
>>
>> This makes me think that this isn't just an issue with the systems
>> running JMeter, but I'm not sure. I've tried tweaking my SSL Session
>> Timeout as well, but with no effect. I did this because watching the
>> mod_status page on this apache instance, I can see the current session
>> count top out at about 330 every time, then subside. My guess was that
>> SSL sessions were somehow bottlenecking.
>>
>> If anyone has any other suggestions, they would be greatly appreciated.
>>
>
> Dan, this sounds like an Apache httpd configuration issue.
>
> Check the values for the 'KeepAliveTimeout' and 'KeepAlive' directives,
> http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
>
> I suggest using "KeepAlive  On" and "KeepAliveTimeout 1"; the latter=
is
> probably defaulted to 15.
>
> - Robert
> ------------------------------------------------------------ ---------
> The official User-To-User support forum of the Apache HTTP Server Project=
..
> See for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> Â " Â from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>
Thanks again Robert. My apache proxy has both directives already set,
and KeepAliveTimeout was indeed set to 15. I tried running the 400
session test across 4 slaves with KeepAliveTimout set to 1 and 30, and
the same result. A failure rate of approximately 20 percent.
Are there any other directives you suggest changing?
Thanks...
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 17.02.2010 22:19:59 von Robert Hall
On Feb 17, 2010, at 12:50 PM, Dan Denton wrote:
> On Wed, Feb 17, 2010 at 2:26 PM, Robert Hall =20
> wrote:
>>
>> On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
>>
>>> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall =20
>>> wrote:
>>>>
>>>> Dan,
>>>>
>>>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>>>
>>>>> Hello all. I=92m trying to load test a login page served by tomcat =
=20
>>>>> 6,
>>>>> proxied through apache 2 with mod_proxy. I=92m using JMeter 2.3.4 =
to
>>>>> conduct the testing. My thread group consists of 500 sessions , =20=
>>>>> and
>>>>> the sample is a GET of a simple login page.
>>>>>
>>>>> JMeter returns errors for a varying percentage of the samples. The
>>>>> errors returned are generally the following:
>>>>>
>>>>> at
>>>>>
>>>>> org=20
>>>>> .apache=20
>>>>> .jmeter=20
>>>>> .protocol=20
>>>>> .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:10 37)
>>>>> at
>>>>>
>>>>> org=20
>>>>> .apache=20
>>>>> .jmeter=20
>>>>> .protocol=20
>>>>> .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:10 23)
>>>>> at
>>>>>
>>>>> org=20
>>>>> .apache=20
>>>>> .jmeter.threads.JMeterThread.process_sampler(JMeterThread.ja va:=20
>>>>> 346)
>>>>> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :=20=
>>>>> 243)
>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>
>>>>> The issues I=92m having are twofold. I=92m having difficulty =20
>>>>> determining
>>>>> if these errors are coming from JMeter or Tomcat, as they=92re =20
>>>>> displayed
>>>>> in the response window of JMeter. The developers think the error =20=
>>>>> is
>>>>> coming from JMeter given the last few lines of the trace above.
>>>>
>>>> The developers are correct.
>>>>
>>>>> Given that I'm not a programmer I should probably take their =20
>>>>> word for
>>>>> it,
>>>>> but why would JMeter show this error as the response?
>>>>
>>>> The system you are running JMeter on isn't able to handle the load.
>>>>
>>>>> Second, I've tried tweaking my process counts (startservers, =20
>>>>> maxspare,
>>>>> etc...) with no change in the outcome. I can mitigate the issue by
>>>>> pointing JMeter directly to tomcat, but I need this product to go
>>>>> through our apache proxy for SSL.
>>>>>
>>>>> Any help on this would be greatly appreciated.
>>>>
>>>> There must be some JMeter setting that will work otherwise you =20
>>>> would be
>>>> unable
>>>> to access the webapp over SSL from the system that is hosting =20
>>>> JMeter.
>>>>
>>>> Try reducing everything to a count of 1 in JMeter.
>>>>
>>>> If that doesn't work, there is a problem with the SSL config in =20
>>>> JMeter;
>>>> google "jmeter ssl".
>>>>
>>>> Otherwise, try spreading the load our across several JMeter =20
>>>> instances
>>>> installed on separate systems.
>>>>
>>>> - Robert
>>>>
>>>
>>> Thanks for the reply Robert. I've set up JMeter 4 slaves, each =20
>>> with at
>>> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
>>> whether it's 1 node simulating 400 sessions or 4 nodes each =20
>>> simulating
>>> 100, I still see these errors at 400 sessions or more. Also, when I
>>> use multiple slaves to execute the test, the percentage of failures
>>> when simulating 400 sessions is greater and the failures happen
>>> earlier in the test.
>>>
>>> This makes me think that this isn't just an issue with the systems
>>> running JMeter, but I'm not sure. I've tried tweaking my SSL Session
>>> Timeout as well, but with no effect. I did this because watching the
>>> mod_status page on this apache instance, I can see the current =20
>>> session
>>> count top out at about 330 every time, then subside. My guess was =20=
>>> that
>>> SSL sessions were somehow bottlenecking.
>>>
>>> If anyone has any other suggestions, they would be greatly =20
>>> appreciated.
>>>
>>
>> Dan, this sounds like an Apache httpd configuration issue.
>>
>> Check the values for the 'KeepAliveTimeout' and 'KeepAlive' =20
>> directives,
>> http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
>>
>> I suggest using "KeepAlive On" and "KeepAliveTimeout 1"; the =20
>> latter is
>> probably defaulted to 15.
>>
>> - Robert
>>
> Thanks again Robert. My apache proxy has both directives already set,
> and KeepAliveTimeout was indeed set to 15. I tried running the 400
> session test across 4 slaves with KeepAliveTimout set to 1 and 30, and
> the same result. A failure rate of approximately 20 percent.
>
> Are there any other directives you suggest changing?
>
> Thanks...
>
Surprising that KeepAliveTimeout of 1 and 30 produced the same results.
Other directives: (with KeepAliveTimeout of 1)
MaxKeepAliveRequests - defaults to 100, try raising to 500
Separately, set KeepAlive Off.
Have you looked at the httpd error logs?
- Robert=
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 17.02.2010 23:29:59 von Dan Denton
On Wed, Feb 17, 2010 at 3:19 PM, Robert Hall wrote:
>
> On Feb 17, 2010, at 12:50 PM, Dan Denton wrote:
>
>> On Wed, Feb 17, 2010 at 2:26 PM, Robert Hall wrote=
:
>>>
>>> On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
>>>
>>>> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall
>>>> wrote:
>>>>>
>>>>> Dan,
>>>>>
>>>>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>>>>
>>>>>> Hello all. Iâ=99m trying to load test a login page served by to=
mcat 6,
>>>>>> proxied through apache 2 with mod_proxy. Iâ=99m using JMeter 2.=
3.4 to
>>>>>> conduct the testing. My thread group consists of 500 sessions , and
>>>>>> the sample is a GET of a simple login page.
>>>>>>
>>>>>> JMeter returns errors for a varying percentage of the samples. The
>>>>>> errors returned are generally the following:
>>>>>>
>>>>>> at
>>>>>>
>>>>>>
>>>>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPS=
amplerBase.java:1037)
>>>>>> at
>>>>>>
>>>>>>
>>>>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTPS=
amplerBase.java:1023)
>>>>>> at
>>>>>>
>>>>>>
>>>>>> org.apache.jmeter.threads.JMeterThread.process_sampler(JMete rThread.=
java:346)
>>>>>> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243)
>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>
>>>>>> The issues Iâ=99m having are twofold. Iâ=99m having diffic=
ulty determining
>>>>>> if these errors are coming from JMeter or Tomcat, as theyâ=99re=
displayed
>>>>>> in the response window of JMeter. The developers think the error is
>>>>>> coming from JMeter given the last few lines of the trace above.
>>>>>
>>>>> The developers are correct.
>>>>>
>>>>>> Given that I'm not a programmer I should probably take their word fo=
r
>>>>>> it,
>>>>>> but why would JMeter show this error as the response?
>>>>>
>>>>> The system you are running JMeter on isn't able to handle the load.
>>>>>
>>>>>> Second, I've tried tweaking my process counts (startservers, maxspar=
e,
>>>>>> etc...) with no change in the outcome. I can mitigate the issue by
>>>>>> pointing JMeter directly to tomcat, but I need this product to go
>>>>>> through our apache proxy for SSL.
>>>>>>
>>>>>> Any help on this would be greatly appreciated.
>>>>>
>>>>> There must be some JMeter setting that will work otherwise you would =
be
>>>>> unable
>>>>> to access the webapp over SSL from the system that is hosting JMeter.
>>>>>
>>>>> Try reducing everything to a count of 1 in JMeter.
>>>>>
>>>>> If that doesn't work, there is a problem with the SSL config in JMete=
r;
>>>>> google "jmeter ssl".
>>>>>
>>>>> Otherwise, try spreading the load our across several JMeter instances
>>>>> installed on separate systems.
>>>>>
>>>>> - Robert
>>>>>
>>>>
>>>> Thanks for the reply Robert. I've set up JMeter 4 slaves, each with at
>>>> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
>>>> whether it's 1 node simulating 400 sessions or 4 nodes each simulating
>>>> 100, I still see these errors at 400 sessions or more. Also, when I
>>>> use multiple slaves to execute the test, the percentage of failures
>>>> when simulating 400 sessions is greater and the failures happen
>>>> earlier in the test.
>>>>
>>>> This makes me think that this isn't just an issue with the systems
>>>> running JMeter, but I'm not sure. I've tried tweaking my SSL Session
>>>> Timeout as well, but with no effect. I did this because watching the
>>>> mod_status page on this apache instance, I can see the current session
>>>> count top out at about 330 every time, then subside. My guess was that
>>>> SSL sessions were somehow bottlenecking.
>>>>
>>>> If anyone has any other suggestions, they would be greatly appreciated=
..
>>>>
>>>
>>> Dan, this sounds like an Apache httpd configuration issue.
>>>
>>> Check the values for the 'KeepAliveTimeout' and 'KeepAlive' directives,
>>> http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
>>>
>>> I suggest using "KeepAlive  On" and "KeepAliveTimeout 1"; the latt=
er is
>>> probably defaulted to 15.
>>>
>>> - Robert
>>>
>> Thanks again Robert. My apache proxy has both directives already set,
>> and KeepAliveTimeout was indeed set to 15. I tried running the 400
>> session test across 4 slaves with KeepAliveTimout set to 1 and 30, and
>> the same result. A failure rate of approximately 20 percent.
>>
>> Are there any other directives you suggest changing?
>>
>> Thanks...
>>
>
> Surprising that KeepAliveTimeout of 1 and 30 produced the same results.
>
> Other directives: (with KeepAliveTimeout of 1)
>
> MaxKeepAliveRequests - defaults to 100, try raising to 500
>
> Separately, set KeepAlive Off.
>
> Have you looked at the httpd error logs?
>
> - Robert
> ------------------------------------------------------------ ---------
> The official User-To-User support forum of the Apache HTTP Server Project=
..
> See for more info.
> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
> Â " Â from the digest: users-digest-unsubscribe@httpd.apache.org
> For additional commands, e-mail: users-help@httpd.apache.org
>
>
Robert,
With KeepAliveTimout set to 1, and with MaxKeepAliveRequests set to
either 100 or 500, the same results. When using 4 nodes, 100 sessions
a piece, failure rates are between 10 and 30%. With individual nodes
firing off 400 sessions, failure rates are 10% or less.
With KeepAlive off, the same results. The results are somewhat random,
but around the same failure rates.
Nothing in the error logs that seems to point to this issue. Only
occasional messages regarding child processes during the restarts for
the configuration changes.
So far, none of these changes seem to have had an effect. The failure
rates are the same regardless.
Thanks for the help...
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 18.02.2010 00:48:49 von Robert Hall
On Feb 17, 2010, at 2:29 PM, Dan Denton wrote:
> On Wed, Feb 17, 2010 at 3:19 PM, Robert Hall =20
> wrote:
>>
>> On Feb 17, 2010, at 12:50 PM, Dan Denton wrote:
>>
>>> On Wed, Feb 17, 2010 at 2:26 PM, Robert Hall =20=
>>> wrote:
>>>>
>>>> On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
>>>>
>>>>> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall =20
>>>>>
>>>>> wrote:
>>>>>>
>>>>>> Dan,
>>>>>>
>>>>>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>>>>>
>>>>>>> Hello all. I=92m trying to load test a login page served by =20
>>>>>>> tomcat 6,
>>>>>>> proxied through apache 2 with mod_proxy. I=92m using JMeter =20
>>>>>>> 2.3.4 to
>>>>>>> conduct the testing. My thread group consists of 500 =20
>>>>>>> sessions , and
>>>>>>> the sample is a GET of a simple login page.
>>>>>>>
>>>>>>> JMeter returns errors for a varying percentage of the samples. =20=
>>>>>>> The
>>>>>>> errors returned are generally the following:
>>>>>>>
>>>>>>> at
>>>>>>>
>>>>>>>
>>>>>>> org=20
>>>>>>> .apache=20
>>>>>>> .jmeter=20
>>>>>>> .protocol=20
>>>>>>> .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:10 37)
>>>>>>> at
>>>>>>>
>>>>>>>
>>>>>>> org=20
>>>>>>> .apache=20
>>>>>>> .jmeter=20
>>>>>>> .protocol=20
>>>>>>> .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:10 23)
>>>>>>> at
>>>>>>>
>>>>>>>
>>>>>>> org=20
>>>>>>> .apache=20
>>>>>>> .jmeter.threads.JMeterThread.process_sampler(JMeterThread.ja va:=20=
>>>>>>> 346)
>>>>>>> at =20
>>>>>>> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :=20
>>>>>>> 243)
>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>
>>>>>>> The issues I=92m having are twofold. I=92m having difficulty =20
>>>>>>> determining
>>>>>>> if these errors are coming from JMeter or Tomcat, as they=92re =20=
>>>>>>> displayed
>>>>>>> in the response window of JMeter. The developers think the =20
>>>>>>> error is
>>>>>>> coming from JMeter given the last few lines of the trace above.
>>>>>>
>>>>>> The developers are correct.
>>>>>>
>>>>>>> Given that I'm not a programmer I should probably take their =20
>>>>>>> word for
>>>>>>> it,
>>>>>>> but why would JMeter show this error as the response?
>>>>>>
>>>>>> The system you are running JMeter on isn't able to handle the =20
>>>>>> load.
>>>>>>
>>>>>>> Second, I've tried tweaking my process counts (startservers, =20
>>>>>>> maxspare,
>>>>>>> etc...) with no change in the outcome. I can mitigate the =20
>>>>>>> issue by
>>>>>>> pointing JMeter directly to tomcat, but I need this product to =20=
>>>>>>> go
>>>>>>> through our apache proxy for SSL.
>>>>>>>
>>>>>>> Any help on this would be greatly appreciated.
>>>>>>
>>>>>> There must be some JMeter setting that will work otherwise you =20=
>>>>>> would be
>>>>>> unable
>>>>>> to access the webapp over SSL from the system that is hosting =20
>>>>>> JMeter.
>>>>>>
>>>>>> Try reducing everything to a count of 1 in JMeter.
>>>>>>
>>>>>> If that doesn't work, there is a problem with the SSL config in =20=
>>>>>> JMeter;
>>>>>> google "jmeter ssl".
>>>>>>
>>>>>> Otherwise, try spreading the load our across several JMeter =20
>>>>>> instances
>>>>>> installed on separate systems.
>>>>>>
>>>>>> - Robert
>>>>>>
>>>>>
>>>>> Thanks for the reply Robert. I've set up JMeter 4 slaves, each =20
>>>>> with at
>>>>> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
>>>>> whether it's 1 node simulating 400 sessions or 4 nodes each =20
>>>>> simulating
>>>>> 100, I still see these errors at 400 sessions or more. Also, =20
>>>>> when I
>>>>> use multiple slaves to execute the test, the percentage of =20
>>>>> failures
>>>>> when simulating 400 sessions is greater and the failures happen
>>>>> earlier in the test.
>>>>>
>>>>> This makes me think that this isn't just an issue with the systems
>>>>> running JMeter, but I'm not sure. I've tried tweaking my SSL =20
>>>>> Session
>>>>> Timeout as well, but with no effect. I did this because watching =20=
>>>>> the
>>>>> mod_status page on this apache instance, I can see the current =20
>>>>> session
>>>>> count top out at about 330 every time, then subside. My guess =20
>>>>> was that
>>>>> SSL sessions were somehow bottlenecking.
>>>>>
>>>>> If anyone has any other suggestions, they would be greatly =20
>>>>> appreciated.
>>>>>
>>>>
>>>> Dan, this sounds like an Apache httpd configuration issue.
>>>>
>>>> Check the values for the 'KeepAliveTimeout' and 'KeepAlive' =20
>>>> directives,
>>>> http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
>>>>
>>>> I suggest using "KeepAlive On" and "KeepAliveTimeout 1"; the =20
>>>> latter is
>>>> probably defaulted to 15.
>>>>
>>>> - Robert
>>>>
>>> Thanks again Robert. My apache proxy has both directives already =20
>>> set,
>>> and KeepAliveTimeout was indeed set to 15. I tried running the 400
>>> session test across 4 slaves with KeepAliveTimout set to 1 and 30, =20=
>>> and
>>> the same result. A failure rate of approximately 20 percent.
>>>
>>> Are there any other directives you suggest changing?
>>>
>>> Thanks...
>>>
>>
>> Surprising that KeepAliveTimeout of 1 and 30 produced the same =20
>> results.
>>
>> Other directives: (with KeepAliveTimeout of 1)
>>
>> MaxKeepAliveRequests - defaults to 100, try raising to 500
>>
>> Separately, set KeepAlive Off.
>>
>> Have you looked at the httpd error logs?
>>
>> - Robert
>>
>
> Robert,
>
> With KeepAliveTimout set to 1, and with MaxKeepAliveRequests set to
> either 100 or 500, the same results. When using 4 nodes, 100 sessions
> a piece, failure rates are between 10 and 30%. With individual nodes
> firing off 400 sessions, failure rates are 10% or less.
>
> With KeepAlive off, the same results. The results are somewhat random,
> but around the same failure rates.
>
> Nothing in the error logs that seems to point to this issue. Only
> occasional messages regarding child processes during the restarts for
> the configuration changes.
>
> So far, none of these changes seem to have had an effect. The failure
> rates are the same regardless.
>
> Thanks for the help...
>
Is there a firewall in play? If so, I suggest turning it off and =20
retesting.
- Robert=
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 19.02.2010 20:24:10 von Dan Denton
On Wed, Feb 17, 2010 at 4:29 PM, Dan Denton wrote:
> On Wed, Feb 17, 2010 at 3:19 PM, Robert Hall wrote:
>>
>> On Feb 17, 2010, at 12:50 PM, Dan Denton wrote:
>>
>>> On Wed, Feb 17, 2010 at 2:26 PM, Robert Hall wrot=
e:
>>>>
>>>> On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
>>>>
>>>>> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall
>>>>> wrote:
>>>>>>
>>>>>> Dan,
>>>>>>
>>>>>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>>>>>
>>>>>>> Hello all. Iâ=99m trying to load test a login page served by t=
omcat 6,
>>>>>>> proxied through apache 2 with mod_proxy. Iâ=99m using JMeter 2=
..3.4 to
>>>>>>> conduct the testing. My thread group consists of 500 sessions , and
>>>>>>> the sample is a GET of a simple login page.
>>>>>>>
>>>>>>> JMeter returns errors for a varying percentage of the samples. The
>>>>>>> errors returned are generally the following:
>>>>>>>
>>>>>>> at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTP=
SamplerBase.java:1037)
>>>>>>> at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.samp le(HTTP=
SamplerBase.java:1023)
>>>>>>> at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.jmeter.threads.JMeterThread.process_sampler(JMete rThread=
..java:346)
>>>>>>> at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :243=
)
>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>
>>>>>>> The issues Iâ=99m having are twofold. Iâ=99m having diffi=
culty determining
>>>>>>> if these errors are coming from JMeter or Tomcat, as theyâ=99r=
e displayed
>>>>>>> in the response window of JMeter. The developers think the error is
>>>>>>> coming from JMeter given the last few lines of the trace above.
>>>>>>
>>>>>> The developers are correct.
>>>>>>
>>>>>>> Given that I'm not a programmer I should probably take their word f=
or
>>>>>>> it,
>>>>>>> but why would JMeter show this error as the response?
>>>>>>
>>>>>> The system you are running JMeter on isn't able to handle the load.
>>>>>>
>>>>>>> Second, I've tried tweaking my process counts (startservers, maxspa=
re,
>>>>>>> etc...) with no change in the outcome. I can mitigate the issue by
>>>>>>> pointing JMeter directly to tomcat, but I need this product to go
>>>>>>> through our apache proxy for SSL.
>>>>>>>
>>>>>>> Any help on this would be greatly appreciated.
>>>>>>
>>>>>> There must be some JMeter setting that will work otherwise you would=
be
>>>>>> unable
>>>>>> to access the webapp over SSL from the system that is hosting JMeter=
..
>>>>>>
>>>>>> Try reducing everything to a count of 1 in JMeter.
>>>>>>
>>>>>> If that doesn't work, there is a problem with the SSL config in JMet=
er;
>>>>>> google "jmeter ssl".
>>>>>>
>>>>>> Otherwise, try spreading the load our across several JMeter instance=
s
>>>>>> installed on separate systems.
>>>>>>
>>>>>> - Robert
>>>>>>
>>>>>
>>>>> Thanks for the reply Robert. I've set up JMeter 4 slaves, each with a=
t
>>>>> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
>>>>> whether it's 1 node simulating 400 sessions or 4 nodes each simulatin=
g
>>>>> 100, I still see these errors at 400 sessions or more. Also, when I
>>>>> use multiple slaves to execute the test, the percentage of failures
>>>>> when simulating 400 sessions is greater and the failures happen
>>>>> earlier in the test.
>>>>>
>>>>> This makes me think that this isn't just an issue with the systems
>>>>> running JMeter, but I'm not sure. I've tried tweaking my SSL Session
>>>>> Timeout as well, but with no effect. I did this because watching the
>>>>> mod_status page on this apache instance, I can see the current sessio=
n
>>>>> count top out at about 330 every time, then subside. My guess was tha=
t
>>>>> SSL sessions were somehow bottlenecking.
>>>>>
>>>>> If anyone has any other suggestions, they would be greatly appreciate=
d.
>>>>>
>>>>
>>>> Dan, this sounds like an Apache httpd configuration issue.
>>>>
>>>> Check the values for the 'KeepAliveTimeout' and 'KeepAlive' directives=
,
>>>> http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
>>>>
>>>> I suggest using "KeepAlive  On" and "KeepAliveTimeout 1"; the lat=
ter is
>>>> probably defaulted to 15.
>>>>
>>>> - Robert
>>>>
>>> Thanks again Robert. My apache proxy has both directives already set,
>>> and KeepAliveTimeout was indeed set to 15. I tried running the 400
>>> session test across 4 slaves with KeepAliveTimout set to 1 and 30, and
>>> the same result. A failure rate of approximately 20 percent.
>>>
>>> Are there any other directives you suggest changing?
>>>
>>> Thanks...
>>>
>>
>> Surprising that KeepAliveTimeout of 1 and 30 produced the same results.
>>
>> Other directives: (with KeepAliveTimeout of 1)
>>
>> MaxKeepAliveRequests - defaults to 100, try raising to 500
>>
>> Separately, set KeepAlive Off.
>>
>> Have you looked at the httpd error logs?
>>
>> - Robert
>> ------------------------------------------------------------ ---------
>> The official User-To-User support forum of the Apache HTTP Server Projec=
t.
>> See for more info.
>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>> Â " Â from the digest: users-digest-unsubscribe@httpd.apache.or=
g
>> For additional commands, e-mail: users-help@httpd.apache.org
>>
>>
>
> Robert,
>
> With KeepAliveTimout set to 1, and with MaxKeepAliveRequests set to
> either 100 or 500, the same results. When using 4 nodes, 100 sessions
> a piece, failure rates are between 10 and 30%. With individual nodes
> firing off 400 sessions, failure rates are 10% or less.
>
> With KeepAlive off, the same results. The results are somewhat random,
> but around the same failure rates.
>
> Nothing in the error logs that seems to point to this issue. Only
> occasional messages regarding child processes during the restarts for
> the configuration changes.
>
> So far, none of these changes seem to have had an effect. The failure
> rates are the same regardless.
>
> Thanks for the help...
>
Robert,
Thanks for the reply. There are no firewalls in play here. The
original system being tested is a development system (not as robust as
our production systems), and the proxy and the tomcat instance serving
the webapp were on the same server. I moved the proxy to another
machine and that helped push the count to around 500 before we see an
error rate around 3%. Based on this, it's very likely this is a case
of simple resource limitations on the server.
I will be doing more testing next week with hardware more similar to
our production systems, which have about 400% more horsepower than our
dev systems.
Thanks again for your help!
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: JMeter Load Testing of Tomcat through Apache Proxy
am 19.02.2010 21:31:34 von Robert Hall
On Feb 19, 2010, at 11:24 AM, Dan Denton wrote:
> On Wed, Feb 17, 2010 at 4:29 PM, Dan Denton =20=
> wrote:
>> On Wed, Feb 17, 2010 at 3:19 PM, Robert Hall =20=
>> wrote:
>>>
>>> On Feb 17, 2010, at 12:50 PM, Dan Denton wrote:
>>>
>>>> On Wed, Feb 17, 2010 at 2:26 PM, Robert Hall =20
>>>> wrote:
>>>>>
>>>>> On Feb 17, 2010, at 12:06 PM, Dan Denton wrote:
>>>>>
>>>>>> On Mon, Feb 15, 2010 at 12:53 PM, Robert Hall =
>>>>>> >
>>>>>> wrote:
>>>>>>>
>>>>>>> Dan,
>>>>>>>
>>>>>>> On Feb 15, 2010, at 10:37 AM, Dan Denton wrote:
>>>>>>>
>>>>>>>> Hello all. I=92m trying to load test a login page served by =20
>>>>>>>> tomcat 6,
>>>>>>>> proxied through apache 2 with mod_proxy. I=92m using JMeter =20
>>>>>>>> 2.3.4 to
>>>>>>>> conduct the testing. My thread group consists of 500 =20
>>>>>>>> sessions , and
>>>>>>>> the sample is a GET of a simple login page.
>>>>>>>>
>>>>>>>> JMeter returns errors for a varying percentage of the =20
>>>>>>>> samples. The
>>>>>>>> errors returned are generally the following:
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>> org=20
>>>>>>>> .apache=20
>>>>>>>> .jmeter=20
>>>>>>>> .protocol=20
>>>>>>>> .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:10 37)
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>> org=20
>>>>>>>> .apache=20
>>>>>>>> .jmeter=20
>>>>>>>> .protocol=20
>>>>>>>> .http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:10 23)
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>> org=20
>>>>>>>> .apache=20
>>>>>>>> .jmeter=20
>>>>>>>> .threads.JMeterThread.process_sampler(JMeterThread.java:346)
>>>>>>>> at =20
>>>>>>>> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java :=20=
>>>>>>>> 243)
>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>
>>>>>>>> The issues I=92m having are twofold. I=92m having difficulty =20=
>>>>>>>> determining
>>>>>>>> if these errors are coming from JMeter or Tomcat, as they=92re =20=
>>>>>>>> displayed
>>>>>>>> in the response window of JMeter. The developers think the =20
>>>>>>>> error is
>>>>>>>> coming from JMeter given the last few lines of the trace above.
>>>>>>>
>>>>>>> The developers are correct.
>>>>>>>
>>>>>>>> Given that I'm not a programmer I should probably take their =20=
>>>>>>>> word for
>>>>>>>> it,
>>>>>>>> but why would JMeter show this error as the response?
>>>>>>>
>>>>>>> The system you are running JMeter on isn't able to handle the =20=
>>>>>>> load.
>>>>>>>
>>>>>>>> Second, I've tried tweaking my process counts (startservers, =20=
>>>>>>>> maxspare,
>>>>>>>> etc...) with no change in the outcome. I can mitigate the =20
>>>>>>>> issue by
>>>>>>>> pointing JMeter directly to tomcat, but I need this product =20
>>>>>>>> to go
>>>>>>>> through our apache proxy for SSL.
>>>>>>>>
>>>>>>>> Any help on this would be greatly appreciated.
>>>>>>>
>>>>>>> There must be some JMeter setting that will work otherwise you =20=
>>>>>>> would be
>>>>>>> unable
>>>>>>> to access the webapp over SSL from the system that is hosting =20=
>>>>>>> JMeter.
>>>>>>>
>>>>>>> Try reducing everything to a count of 1 in JMeter.
>>>>>>>
>>>>>>> If that doesn't work, there is a problem with the SSL config =20
>>>>>>> in JMeter;
>>>>>>> google "jmeter ssl".
>>>>>>>
>>>>>>> Otherwise, try spreading the load our across several JMeter =20
>>>>>>> instances
>>>>>>> installed on separate systems.
>>>>>>>
>>>>>>> - Robert
>>>>>>>
>>>>>>
>>>>>> Thanks for the reply Robert. I've set up JMeter 4 slaves, each =20=
>>>>>> with at
>>>>>> least two 2.8 Ghz procs and 2 GB of RAM, and still regardless of
>>>>>> whether it's 1 node simulating 400 sessions or 4 nodes each =20
>>>>>> simulating
>>>>>> 100, I still see these errors at 400 sessions or more. Also, =20
>>>>>> when I
>>>>>> use multiple slaves to execute the test, the percentage of =20
>>>>>> failures
>>>>>> when simulating 400 sessions is greater and the failures happen
>>>>>> earlier in the test.
>>>>>>
>>>>>> This makes me think that this isn't just an issue with the =20
>>>>>> systems
>>>>>> running JMeter, but I'm not sure. I've tried tweaking my SSL =20
>>>>>> Session
>>>>>> Timeout as well, but with no effect. I did this because =20
>>>>>> watching the
>>>>>> mod_status page on this apache instance, I can see the current =20=
>>>>>> session
>>>>>> count top out at about 330 every time, then subside. My guess =20
>>>>>> was that
>>>>>> SSL sessions were somehow bottlenecking.
>>>>>>
>>>>>> If anyone has any other suggestions, they would be greatly =20
>>>>>> appreciated.
>>>>>>
>>>>>
>>>>> Dan, this sounds like an Apache httpd configuration issue.
>>>>>
>>>>> Check the values for the 'KeepAliveTimeout' and 'KeepAlive' =20
>>>>> directives,
>>>>> http://httpd.apache.org/docs/2.0/mod/core.html#keepalive
>>>>>
>>>>> I suggest using "KeepAlive On" and "KeepAliveTimeout 1"; the =20
>>>>> latter is
>>>>> probably defaulted to 15.
>>>>>
>>>>> - Robert
>>>>>
>>>> Thanks again Robert. My apache proxy has both directives already =20=
>>>> set,
>>>> and KeepAliveTimeout was indeed set to 15. I tried running the 400
>>>> session test across 4 slaves with KeepAliveTimout set to 1 and =20
>>>> 30, and
>>>> the same result. A failure rate of approximately 20 percent.
>>>>
>>>> Are there any other directives you suggest changing?
>>>>
>>>> Thanks...
>>>>
>>>
>>> Surprising that KeepAliveTimeout of 1 and 30 produced the same =20
>>> results.
>>>
>>> Other directives: (with KeepAliveTimeout of 1)
>>>
>>> MaxKeepAliveRequests - defaults to 100, try raising to 500
>>>
>>> Separately, set KeepAlive Off.
>>>
>>> Have you looked at the httpd error logs?
>>>
>>> - Robert
>>> =
------------------------------------------------------------ ---------
>>> The official User-To-User support forum of the Apache HTTP Server =20=
>>> Project.
>>> See for more info.
>>> To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>>> " from the digest: users-digest-unsubscribe@httpd.apache.org
>>> For additional commands, e-mail: users-help@httpd.apache.org
>>>
>>>
>>
>> Robert,
>>
>> With KeepAliveTimout set to 1, and with MaxKeepAliveRequests set to
>> either 100 or 500, the same results. When using 4 nodes, 100 sessions
>> a piece, failure rates are between 10 and 30%. With individual nodes
>> firing off 400 sessions, failure rates are 10% or less.
>>
>> With KeepAlive off, the same results. The results are somewhat =20
>> random,
>> but around the same failure rates.
>>
>> Nothing in the error logs that seems to point to this issue. Only
>> occasional messages regarding child processes during the restarts for
>> the configuration changes.
>>
>> So far, none of these changes seem to have had an effect. The failure
>> rates are the same regardless.
>>
>> Thanks for the help...
>>
>
> Robert,
>
> Thanks for the reply. There are no firewalls in play here. The
> original system being tested is a development system (not as robust as
> our production systems), and the proxy and the tomcat instance serving
> the webapp were on the same server. I moved the proxy to another
> machine and that helped push the count to around 500 before we see an
> error rate around 3%. Based on this, it's very likely this is a case
> of simple resource limitations on the server.
>
> I will be doing more testing next week with hardware more similar to
> our production systems, which have about 400% more horsepower than our
> dev systems.
>
> Thanks again for your help!
>
Dan,
It was beginning to feel like a resource constraint instead of a =20
configuration issue.
"It all makes sense now". Thanks for letting us know
- Robert=
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org