Re: Tomcat 5.5.4 Stability

2004-11-17 Thread Remy Maucherat
On Tue, 16 Nov 2004 23:17:22 -0500, V D <[EMAIL PROTECTED]> wrote:
> 
> Today, I ran an axis application under both Tomcat 5.028 and 5.5.4.
> Hitting this axis application with 100 simultaneous clients for many
> hits.  5.0.28 seems to hold up very well.  It drops connections once a
> while.  However, 5.5.4 drops many connections.  I wonder if the Tomcat
> team aware of this problem.

No. You need to give reproduceable facts, prefereably with a simple application.

Note that the low level code is extremely similar between 5.0 and 5.5.
I doubt the few code changes could cause something like that.

-- 
x
Rémy Maucherat
Developer & Consultant
JBoss Group (Europe) SàRL
x

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-17 Thread Vy Ho
Thank you for the reply.  I am sorry that what I said is not true.  
Tested more with version 5.0.28 of Tomcat also produce the same result.  
Please see if this is "normal" behavior:

I have an axis application, basically return a "hello world", I tried 
this with:

1) Axis 1.1
2) Axis 1.2
3) Tomcat 5.0.28
4) Tomcat 5.5.4
Some combinations of those.  They all produce connection refuse.  The 
max thread is 200, the acceptCount is 100.

On the client side, I also send in some data roughly the size of "hello 
world".

I have about 30 threads running, each continuously make requests to the 
server for about 100 requests for each threads.  Some tests, I also put 
random wait time between requests for each thread in around 200 
miliseconds.  Some test, there is no wait time, after the first request 
finish, I would make a next one.

After a while, some of the threads will generate exception: connection 
refused.  With 30 threads, this seems to be low to me.  Both the client 
and server sits in a same machime.

My question is this: is this load/scenario normal? If not, I'll be happy 
to put together a test client and a test Soap Axis server code for you 
to investigate.  You can easily take one of the example client, put it 
in 30 threads, and spin it 100 times in each thread.

If you have any advice, or suggestion on anything I may have missed, 
please let me know.  Right now, each request seem to have its own 
connection.  Using the common http client for the client to reduce the 
number of connection, the things is twice as slow, and does not improve 
the situation (I did not pass any parameters to this connection pool 
thing, so default value is used on this).

Thank you for your time.
Remy Maucherat wrote:
On Tue, 16 Nov 2004 23:17:22 -0500, V D <[EMAIL PROTECTED]> wrote:
 

Today, I ran an axis application under both Tomcat 5.028 and 5.5.4.
Hitting this axis application with 100 simultaneous clients for many
hits.  5.0.28 seems to hold up very well.  It drops connections once a
while.  However, 5.5.4 drops many connections.  I wonder if the Tomcat
team aware of this problem.
   

No. You need to give reproduceable facts, prefereably with a simple 
application.
Note that the low level code is extremely similar between 5.0 and 5.5.
I doubt the few code changes could cause something like that.
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-17 Thread Remy Maucherat
On Wed, 17 Nov 2004 18:15:36 -0500, Vy Ho <[EMAIL PROTECTED]> wrote:
> 
> Thank you for the reply.  I am sorry that what I said is not true.
> Tested more with version 5.0.28 of Tomcat also produce the same result.
> Please see if this is "normal" behavior:
> 
> I have an axis application, basically return a "hello world", I tried
> this with:
> 
> 1) Axis 1.1
> 2) Axis 1.2
> 3) Tomcat 5.0.28
> 4) Tomcat 5.5.4
> 
> Some combinations of those.  They all produce connection refuse.  The
> max thread is 200, the acceptCount is 100.
> 
> On the client side, I also send in some data roughly the size of "hello
> world".
> 
> I have about 30 threads running, each continuously make requests to the
> server for about 100 requests for each threads.  Some tests, I also put
> random wait time between requests for each thread in around 200
> miliseconds.  Some test, there is no wait time, after the first request
> finish, I would make a next one.
> 
> After a while, some of the threads will generate exception: connection
> refused.  With 30 threads, this seems to be low to me.  Both the client
> and server sits in a same machime.
> 
> My question is this: is this load/scenario normal? If not, I'll be happy
> to put together a test client and a test Soap Axis server code for you
> to investigate.  You can easily take one of the example client, put it
> in 30 threads, and spin it 100 times in each thread.

Well, although it doesn't seem much on the client, on the server side,
it's IMO another story. Web services involve XML, which is very CPU
intensive, so 30 concurrent requests is quite a bit. You can try to
check the CPU usage of processes to see if the server process is maxed
out (it probably is).

With 5.5.4, you can attempt to increase the priority of the socket
accepting thread. I don't know if it'll make a difference (this is
untested at the moment), but, add the following to your Connector
element:
strategy="ms" threadPriority="8"

Also, I noticed Windows is quite "connection failure"-happy,
especially in localhost. I don't know if you're using Windows.
 
-- 
x
Rémy Maucherat
Developer & Consultant
JBoss Group (Europe) SàRL
x

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-17 Thread Peter Lin
I would second Remy's sentiment about XML and concurrent processes.
I've performed benchmarks with Java and C# on a P4 2.4ghz machine.

with 2-4K of XML 10-15 concurrent processes with consume roughly
60-70% of the CPU. With 30, you're going to hit 90-100% of the CPU. At
that point, more concurrent requests to Tomcat or any webserver for
that matter will be starving for CPU cycles.

peter

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-17 Thread V D
I just test this at home.  I change all settings to use Tomcat 5.5.4, 
Axis 1.2.  The result is a big surprise.

Right now, I hit the server with 2 clients, each has 150 connections.  
There is no error so far.

This machine is faster than the one at work, and also has double the 
amount of RAM.

If things going this way, it'll be great.
I also notice that there is no networking load (it all go within the 
machine).  I wonder how well it does if it go across the network After 
running with 200 connections, I got out of memory error on the server.  
I give it max of 512M.  I also increase the maxThread to 400. Without 
these, it could handle up to 200 concurrent connections.

This is really good.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-17 Thread Peter Lin
interesting information. You're probably already aware of this, but
extrapolating 200 concurrent connection/requests over a 24hr period
would mean in excess of 20 million page views or webservice requests
per day.

that would be a ton of traffic. over the network, you can expect
considerably lower throughput unless you're using gigabit ethernet or
multiple ethernet ports with multiple routers.

peter


On Wed, 17 Nov 2004 23:20:20 -0500, V D <[EMAIL PROTECTED]> wrote:
> 
> I just test this at home.  I change all settings to use Tomcat 5.5.4,
> Axis 1.2.  The result is a big surprise.
> 
> Right now, I hit the server with 2 clients, each has 150 connections.
> There is no error so far.
> 
> This machine is faster than the one at work, and also has double the
> amount of RAM.
> 
> If things going this way, it'll be great.
> 
> I also notice that there is no networking load (it all go within the
> machine).  I wonder how well it does if it go across the network After
> running with 200 connections, I got out of memory error on the server.
> I give it max of 512M.  I also increase the maxThread to 400. Without
> these, it could handle up to 200 concurrent connections.
> 
> This is really good.
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Remy Maucherat
On Wed, 17 Nov 2004 23:20:20 -0500, V D <[EMAIL PROTECTED]> wrote:
> 
> I just test this at home.  I change all settings to use Tomcat 5.5.4,
> Axis 1.2.  The result is a big surprise.
> 
> Right now, I hit the server with 2 clients, each has 150 connections.
> There is no error so far.
> 
> This machine is faster than the one at work, and also has double the
> amount of RAM.
> 
> If things going this way, it'll be great.
> 
> I also notice that there is no networking load (it all go within the
> machine).  I wonder how well it does if it go across the network After
> running with 200 connections, I got out of memory error on the server.
> I give it max of 512M.  I also increase the maxThread to 400. Without
> these, it could handle up to 200 concurrent connections.
> 
> This is really good.

It's not very clear to me: did you use the default configuration or
not ? If you didn't, what are the results with the default
configuration ? (I'm trying to get an overview of what you did, and
get comparison data to be able to make configuration recommendations
in the future)

-- 
x
Rémy Maucherat
Developer & Consultant
JBoss Group (Europe) SàRL
x

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Vy Ho
I didn't use the default configuration.  The app. ran fine with 200 
client threads.  When increased to 300 client threads, it went out of 
memory and I stopped it.  So, after that, I increased the maxthread to 
400, and give the server 512 M for max amount of memory.  The app. then 
ran fine.  However, go to work, and restart the computer at work.  I run 
the same thing again, 200 client threads choke the server.  It did not 
go down, but client application get connection refused.  If restart the 
client, it would be able to connect again.  So, I am not sure what's the 
problem.  Something to do with network, I am not sure.  This is not a 
slow machine either.  2.53 Ghz, Pentium 4.  I also use its real IP 
versus localhost, but same problem. The set up of the application is 
identical.  I am talking about copy and unzip the things to make sure 
exactly same stuff get run.   Both run version of JDK1.5.  I have to 
find out what's going on now.

It's not very clear to me: did you use the default configuration or
not ? If you didn't, what are the results with the default
configuration ? (I'm trying to get an overview of what you did, and
get comparison data to be able to make configuration recommendations
in the future)
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Peter Lin
which tool are you using to stress test?  perhaps try a different tool
to double check? when I test, I like to use apache ab and jmeter to
validate the results.  I'm a bit paranoid when it comes to telling
management, "the server will handle X traffic" :)

peter


On Thu, 18 Nov 2004 11:18:07 -0500, Vy Ho <[EMAIL PROTECTED]> wrote:
> 
> I didn't use the default configuration.  The app. ran fine with 200
> client threads.  When increased to 300 client threads, it went out of
> memory and I stopped it.  So, after that, I increased the maxthread to
> 400, and give the server 512 M for max amount of memory.  The app. then
> ran fine.  However, go to work, and restart the computer at work.  I run
> the same thing again, 200 client threads choke the server.  It did not
> go down, but client application get connection refused.  If restart the
> client, it would be able to connect again.  So, I am not sure what's the
> problem.  Something to do with network, I am not sure.  This is not a
> slow machine either.  2.53 Ghz, Pentium 4.  I also use its real IP
> versus localhost, but same problem. The set up of the application is
> identical.  I am talking about copy and unzip the things to make sure
> exactly same stuff get run.   Both run version of JDK1.5.  I have to
> find out what's going on now.
> 
> 
> 
> >It's not very clear to me: did you use the default configuration or
> >not ? If you didn't, what are the results with the default
> >configuration ? (I'm trying to get an overview of what you did, and
> >get comparison data to be able to make configuration recommendations
> >in the future)
> >
> >
> >
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Vy Ho
This an a web service using Axis as the soap library.  I developed my 
own stress tool for this.  This is the same tool that get used at both 
computer.

This is Windows XP.  I'll see if SP2 will do any difference.  The 
computer at home as SP2 on it.

Peter Lin wrote:
which tool are you using to stress test?  perhaps try a different tool
to double check? when I test, I like to use apache ab and jmeter to
validate the results.  I'm a bit paranoid when it comes to telling
management, "the server will handle X traffic" :)
peter
 


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: Tomcat 5.5.4 Stability

2004-11-18 Thread Shapira, Yoav

Hi,

>This an a web service using Axis as the soap library.  I developed my
>own stress tool for this.  This is the same tool that get used at both
>computer.

Your time would be better spent moving to a publicly available stress
testing tool.  There are many, including many free ones.  Results that
not independently reproducible are irrelevant.

Yoav



This e-mail, including any attachments, is a confidential business 
communication, and may contain information that is confidential, proprietary 
and/or privileged.  This e-mail is intended only for the individual(s) to whom 
it is addressed, and may not be saved, copied, printed, disclosed or used by 
anyone else.  If you are not the(an) intended recipient, please immediately 
delete this e-mail from your computer system and notify the sender.  Thank you.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Peter Lin
you might want to give jmeter a shot and see if it backs up your
results. couldn't hurt :)

peter



On Thu, 18 Nov 2004 11:36:20 -0500, Vy Ho <[EMAIL PROTECTED]> wrote:
> 
> This an a web service using Axis as the soap library.  I developed my
> own stress tool for this.  This is the same tool that get used at both
> computer.
> 
> This is Windows XP.  I'll see if SP2 will do any difference.  The
> computer at home as SP2 on it.
> 
> Peter Lin wrote:
> 
> >which tool are you using to stress test?  perhaps try a different tool
> >to double check? when I test, I like to use apache ab and jmeter to
> >validate the results.  I'm a bit paranoid when it comes to telling
> >management, "the server will handle X traffic" :)
> >
> >peter
> >
> >
> >
> 
> 
> -
> 
> 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Vy Ho
Thank you for the advice.  I'll give JMeter a shot.
Shapira, Yoav wrote:
Hi,
 

This an a web service using Axis as the soap library.  I developed my
own stress tool for this.  This is the same tool that get used at both
computer.
   

Your time would be better spent moving to a publicly available stress
testing tool.  There are many, including many free ones.  Results that
not independently reproducible are irrelevant.
Yoav
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Vy Ho
With SP2 of Windows XP, the computer previously can't handle 50 threads 
can handle 200 threads now.  More than that, I got connection refused error.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Seth Ladd
Vy Ho wrote:
With SP2 of Windows XP, the computer previously can't handle 50 threads 
can handle 200 threads now.  More than that, I got connection refused 
error.
I've had terrible performance on SP2 (my development box).  Unless this 
is your deployment environment, don't trust or worry about SP2 
performance.  It's terrible.  Testing my application on Linux, with the 
same Tomcat setup, yields much more pleasurable results.

Seth
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Peter Lin
that's interesting. makes me wonder what changes in SP2 cause the improvement.

peter


On Thu, 18 Nov 2004 14:30:16 -0500, Vy Ho <[EMAIL PROTECTED]> wrote:
> With SP2 of Windows XP, the computer previously can't handle 50 threads
> can handle 200 threads now.  More than that, I got connection refused error.
> 
> 
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Vy Ho
I just test the thing under Red Hat (old version, kernel 2.4.x).  It 
could handle up to 350 threads before choking.  I'll see how well it 
does under the latest kernel tonight.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-18 Thread Remy Maucherat
On Thu, 18 Nov 2004 17:14:53 -0500, Vy Ho <[EMAIL PROTECTED]> wrote:
> I just test the thing under Red Hat (old version, kernel 2.4.x).  It
> could handle up to 350 threads before choking.  I'll see how well it
> does under the latest kernel tonight.

If you try FC 3, I recommend you also use Java 5 (if you want a Sun
VM). From what I understood, it's the only Sun VM which takes
advantage of Linux 2.6.

-- 
x
Rémy Maucherat
Developer & Consultant
JBoss Group (Europe) SàRL
x

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat 5.5.4 Stability

2004-11-19 Thread Vy Ho
Under Linux kernel 2.6 and Jdk 1.5 (5.0), the server could handle up to 
400 client threads.  There are couple time out error.  Other than that, 
it works fine.  Slow but fine.  However, the desktop and other 
application is much more responsive compared to kernel 2.4.  Please 
notes that each of these threads actually reconnect for each request 
(the connection is closed for each request).  This probably could be 
improve dramatically in term of number of threads if I use keep-alive 
client connection.  However, the overall result do not change (or much 
slower), because the machine can handle more connection, but it takes 
much longer to return each request.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Tomcat 5.5.4 Stability

2004-11-19 Thread Remy Maucherat
On Fri, 19 Nov 2004 14:20:40 -0500, Vy Ho <[EMAIL PROTECTED]> wrote:
> 
> Under Linux kernel 2.6 and Jdk 1.5 (5.0), the server could handle up to
> 400 client threads.  There are couple time out error.  Other than that,
> it works fine.  Slow but fine.  However, the desktop and other
> application is much more responsive compared to kernel 2.4.  Please
> notes that each of these threads actually reconnect for each request
> (the connection is closed for each request).  This probably could be
> improve dramatically in term of number of threads if I use keep-alive
> client connection.  However, the overall result do not change (or much
> slower), because the machine can handle more connection, but it takes
> much longer to return each request.

Good results overall. Of course, as you mention, getting better
scalability is useless at some point, since the response times will
get too long to be useful.

-- 
x
Rémy Maucherat
Developer & Consultant
JBoss Group (Europe) SàRL
x

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]