You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Petr Sumbera <Pe...@Sun.COM> on 2007/08/01 15:40:49 UTC
Re: Tomcat with/without Tomcat native library
Hi Bill and all,
not sure what is the right way for comparison between using and not
using APR. I tried Apache ab tool like this:
ab -c 4 -n 10000 http://localhost:8080/favicon.ico
And I don't see any difference. Actually it might be little bit slower
with APR. The file size is 21630, so it should use sendfile then (well
actually our APR doesn't use sendfile at the moment as far as I know).
And the other issue is stability with APR. When I configure Tomcat to
use SSL via APR it works for simple requests. But using huge amount of
requests with ab it will fail (and tomcat is no longer responding to any
request):
bash-3.00# /usr/apache2/bin/ab -c 4 -n 10000
https://localhost:443/favicon.ico
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
SSL handshake failed (5).
Test aborted after 10 failures
apr_socket_connect(): Connection refused (146)
Total of 1 requests completed
--
Any comment to this?
Petr
Bill Barker wrote:
> "Petr Sumbera" <Pe...@Sun.COM> wrote in message
> news:46AA0D4B.3040703@sun.com...
>> Hi Guys,
>>
>> Does anybody have experience or even better some numbers comparing
>> performance of Tomcat running with and without Tomcat native library
>> (libtcnative-1)?
>>
>> I don't see any comparable difference so far (using TC 5.5.23, Native
>> Library 1.1.10, Solaris/i386).
>>
>
> On Solaris there wasn't a big difference last time I profiled it. On
> Solaris, it doesn't cost much to have a large number of threads blocking on
> input, so you don't get a lot from the APR Poller. Also, the Solaris JVM is
> pretty optimized for the OS. From testing with the AJP Connectors, you
> might have noticible improvements with TC 6 and the NIO Connector on
> Solaris, but I haven't profiled it myself.
>
> It's with Linux boxes (I haven't seen reports for other *nixs) with older
> kernels that you see the most improvement when using the APR Connector.
>
>> Cheers,
>>
>> Petr
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Tomcat with/without Tomcat native library
Posted by Bill Barker <wb...@wilshire.com>.
"Mladen Turk" <ml...@gmail.com> wrote in message
news:46B09369.9060504@gmail.com...
> Petr Sumbera wrote:
>> Hi Bill and all,
>>
>> not sure what is the right way for comparison between using and not using
>> APR. I tried Apache ab tool like this:
>>
>> ab -c 4 -n 10000 http://localhost:8080/favicon.ico
>>
>> And I don't see any difference. Actually it might be little bit slower
>> with APR. The file size is 21630, so it should use sendfile then (well
>> actually our APR doesn't use sendfile at the moment as far as I know).
>>
>
> The purpose of APR is to change the model from thread-per-connection
> to thread-per-request. This means it will behave much faster when
> you have 1000 concurrent clients using Keep-Alive (HTTP 1.1).
>
I agree with Mladen here. Your test is artificial, so under most systems
the non-APR connector will win (since you only have 4 clients connecting to
TC). And since you haven't specified '-k' to ab, you are really testing
connection speed, which isn't realistic.
On Solaris, having a 1000 threads blocking on input isn't that big of a
deal, so I'm not sure about the "much faster" claim, but I haven't profiled
Tomcat lately :).
> In that case you'll be able to serve them all with lower number
> of maxThreads.
>
> So, try to use the 'normal' test tool instead a brute force one like 'ab'
> that will reflect the real load to your boxes.
> I mean, the ab (Apache Bench) is a DoS tool, right ;)
>
When I was profiling, I used JMeter and 500 clients with about a one minute
ramp-up time (I don't care about how it handles an accept flood), and about
a 5-10 second delay between requests (I don't have the script I used
anymore, so I don't remember the exact value). Also, if you use JMeter, use
the HttpClient Sampler or configure the java.net Sampler to use a bigger
than default pool, since by default the java.net Sampler doesn't scale up to
this level (skewing the results). Also interesting would be to use a longer
connectionTimeout on the <Connector /> and longer delays between requests.
But for a good comparision, make sure that the maxThreads attribute on the
<Connector /> is large enough to handle the lode.
> Regards,
> Mladen.
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: Tomcat with/without Tomcat native library
Posted by Mladen Turk <ml...@gmail.com>.
Petr Sumbera wrote:
> Hi Bill and all,
>
> not sure what is the right way for comparison between using and not
> using APR. I tried Apache ab tool like this:
>
> ab -c 4 -n 10000 http://localhost:8080/favicon.ico
>
> And I don't see any difference. Actually it might be little bit slower
> with APR. The file size is 21630, so it should use sendfile then (well
> actually our APR doesn't use sendfile at the moment as far as I know).
>
The purpose of APR is to change the model from thread-per-connection
to thread-per-request. This means it will behave much faster when
you have 1000 concurrent clients using Keep-Alive (HTTP 1.1).
In that case you'll be able to serve them all with lower number
of maxThreads.
So, try to use the 'normal' test tool instead a brute force one like 'ab'
that will reflect the real load to your boxes.
I mean, the ab (Apache Bench) is a DoS tool, right ;)
Regards,
Mladen.
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org