You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Filip Hanik <ma...@filip.net> on 2003/05/01 19:04:02 UTC

Tomcat throws 302 errors over load - clustering test

hi all,
I recently performed a load test on the clustering solution for tomcat 4.1.x
(http://cvs.apache.org/~fhanik/)

If my unit test is correct, I received 0 replication errors, however tomcat
keeps throwing 302 errors during overload. For those who are interested all
the stats are below,

Even if I run my test against a single tomcat server, I still receive the
302 errors indicating that this is not a replication error. So in case of a
302 I just resubmit the request once more.

The test WAR and client are available upon request.


Setup
Linux Redhat 7.2, 512MB RAM, 800Mhz P3
- 2x Tomcat 4.1.24 (C,D)
- HTTP Loadbalancer

Win XP Home, 512MB RAM, 2.4GHz P4
- 2x Tomcat 4.1.24 (A,B)
- Replication test client

Network
- 100Mbs LAN

Test
- 120 concurrent connections (keep-alive=false)
- Round robin for each request
- 100ms between each consecutive request (each connection sleeps 100ms when
one request is finished)

Client statistics:
Thread count=120
        Average response time=4434ms
        for 600000 requests.
        Nr of replication errors=0
        Nr of 302 errors=18257


Win XP Statistics (server B):
[InMemoryReplicationManager] Replication Statistics
        Messages sent=116292
        Message serialization time=94067ms
        Average serialization time=0.80888623ms
        Average session send  size=1808.64bytes
        Messages received=465114
        Message deserialization time=1816989
        Average deserialization time=3.9065454ms

Linux Statistics (Server D):
[InMemoryReplicationManager] Replication Statistics
        Messages sent=232578
        Message serialization time=625110ms
        Average serialization time=2.6877434ms
        Average session send  size=1803.0104bytes
        Messages received=348859
        Message deserialization time=4482228ms
        Average deserialization time=12.848251ms


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Tomcat throws 302 errors over load - clustering test

Posted by Remy Maucherat <re...@apache.org>.
Filip Hanik wrote:
>>Yes I understand perfectly. However, my question should have been
>>interpreted as what component returns the 302 (and why ?). Nothing in
>>Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.
> 
> 
> this is tomcat 4.1.24, haven't started the load tests with Tomcat 5 yet.

<pulling_teeth>
Ok, so what component in 4.1.24 ? Basiclayy, all welcome files are done 
with 302s in TC 4.1, but that's it.
Is it a component failure or not ? In which case, which component ?
</pulling_teeth>

>>Well, what is it a redirect to?
> 
> I will find out, currently I need to run some other tests for a client.
> 
> 
>>Ok, maybe. It looks like your LB is too threaded to be efficient, though.
>>Personally, I would like to have a Java LB :)
> 
> 
> once, I have stabilized all my test results, I will just create this LB
> using java.nio and buffers, should be a piece of cake. However, since Java
> doesn't give you the "RAW" option, the load balancer can be super smart, ie
> it cant do round robin between requests on a keep alive connection for
> example
> 
> 
>>Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
>>the Java program at a disadvantage.
> 
> 
> well, let me correct that, I'm using jakarta-commons-httpclient, with the
> setHttp11(false), otherwise I don't get true round robin since it uses keep
> alive connections, hence I can't test session replication :)

That sounds ok to me :)
Note that you can configure Coyote HTTP/1.1 to disconnect after a 
certain amount of requests (say, 4).

Remy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Tomcat throws 302 errors over load - clustering test

Posted by Remy Maucherat <re...@apache.org>.
Filip Hanik wrote:
> this is what happens,
> 
> CLIENT(machine:moose) -port80--> LB(machine:ISLAND) -->
> TOMCAT(moose7080,8080,island7080,8080)
> 
> The client ALWAYS makes the same request
> (http://island:80/replicator/index.jsp) and it fails under load.

Ok fine.

> When Tomcat 4.1.24 is responding with the 302 redirect, the headers are:
> 
> [JakartaClient #79] Received 302 Error,
> HEADERS:
>         Location: http://island/index.jsp
>         Content-Type: text/plain
>         Content-Length: 0
>         Date: Fri, 02 May 2003 21:43:11 GMT
>         Server: Apache Coyote/1.0
>  will resend same command again.

It will do that only if you sent a request for "/" (I assume you have an 
index.jsp), and this is sent by the default servlet. This does look easy 
to debug ...

> what would cause this to happen? Maybe my tests are messed up, I'll post
> them on cvs.apache.org/~fhanik/ next week.

Remy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Tomcat throws 302 errors over load - clustering test

Posted by Filip Hanik <ma...@filip.net>.
this is what happens,

CLIENT(machine:moose) -port80--> LB(machine:ISLAND) -->
TOMCAT(moose7080,8080,island7080,8080)

The client ALWAYS makes the same request
(http://island:80/replicator/index.jsp) and it fails under load.

When Tomcat 4.1.24 is responding with the 302 redirect, the headers are:

[JakartaClient #79] Received 302 Error,
HEADERS:
        Location: http://island/index.jsp
        Content-Type: text/plain
        Content-Length: 0
        Date: Fri, 02 May 2003 21:43:11 GMT
        Server: Apache Coyote/1.0
 will resend same command again.

what would cause this to happen? Maybe my tests are messed up, I'll post
them on cvs.apache.org/~fhanik/ next week.

Filip
> -----Original Message-----
> From: Filip Hanik [mailto:mail@filip.net]
> Sent: Friday, May 02, 2003 11:02 AM
> To: Tomcat Developers List
> Subject: RE: Tomcat throws 302 errors over load - clustering test
>
>
> I meant, the load balancer can NOT be smart :)
>
>
> > -----Original Message-----
> > From: Filip Hanik [mailto:mail@filip.net]
> > Sent: Friday, May 02, 2003 10:55 AM
> > To: Tomcat Developers List
> > Subject: RE: Tomcat throws 302 errors over load - clustering test
> >
> >
> > > Yes I understand perfectly. However, my question should have been
> > > interpreted as what component returns the 302 (and why ?). Nothing in
> > > Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.
> >
> > this is tomcat 4.1.24, haven't started the load tests with Tomcat 5 yet.
> >
> > >Well, what is it a redirect to?
> > I will find out, currently I need to run some other tests for a client.
> >
> > > Ok, maybe. It looks like your LB is too threaded to be
> > efficient, though.
> > > Personally, I would like to have a Java LB :)
> >
> > once, I have stabilized all my test results, I will just create this LB
> > using java.nio and buffers, should be a piece of cake. However,
> since Java
> > doesn't give you the "RAW" option, the load balancer can be super
> > smart, ie
> > it cant do round robin between requests on a keep alive connection for
> > example
> >
> > > Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
> > > the Java program at a disadvantage.
> >
> > well, let me correct that, I'm using
> jakarta-commons-httpclient, with the
> > setHttp11(false), otherwise I don't get true round robin since it
> > uses keep
> > alive connections, hence I can't test session replication :)
> >
> > I will let you know as soon as I have more test results and more data,
> > thanks for all responses.
> >
> > Filip
> >
> >
> > > -----Original Message-----
> > > From: Remy Maucherat [mailto:remm@apache.org]
> > > Sent: Friday, May 02, 2003 10:37 AM
> > > To: Tomcat Developers List
> > > Subject: Re: Tomcat throws 302 errors over load - clustering test
> > >
> > >
> > > Filip Hanik wrote:
> > > > I'm I am always accessing /mywebapp/index.jsp why should I
> get 302 the
> > > > requested resource has moved temporarily. And yes, this does
> > > only occur when
> > > > you put some load on the servers, because the JSP does not
> issue a 302
> > > > sendRedirect.
> > >
> > > Yes I understand perfectly. However, my question should have been
> > > interpreted as what component returns the 302 (and why ?). Nothing in
> > > Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.
> > >
> > > > Since it is a redirect, I don't count this as a error,
> instead my test
> > > > client submits the exact same request again.
> > >
> > > That makes sense.
> > >
> > > > Re:Java load balancer,
> > > > this solution is extremely simple, and uses two threads per
> > > client socket
> > > > instead of java.nio. When putting a lot of load, the context
> > > switching in
> > > > this process is so high that takes forever. the C load
> balancer simple
> > > > performs better, and I believe it would even if I optimized
> > the Java LB.
> > >
> > > Ok, maybe. It looks like your LB is too threaded to be
> > efficient, though.
> > > Personally, I would like to have a Java LB :)
> > >
> > > > The test client is running HTTP1.0, ie, a new connection for
> > > each request
> > > > hence the LB will redirect to different servers each time,
> there is no
> > > > stickyness configured what so ever.
> > >
> > > Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
> > > the Java program at a disadvantage.
> > >
> > > > I have also noticed that running Apache/mod_jk in front of
> > > Tomcat, causes
> > > > session replication to fail pretty frequently, I will
> > investigate more.
> > >
> > > Remy
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Tomcat throws 302 errors over load - clustering test

Posted by Filip Hanik <ma...@filip.net>.
I meant, the load balancer can NOT be smart :)


> -----Original Message-----
> From: Filip Hanik [mailto:mail@filip.net]
> Sent: Friday, May 02, 2003 10:55 AM
> To: Tomcat Developers List
> Subject: RE: Tomcat throws 302 errors over load - clustering test
>
>
> > Yes I understand perfectly. However, my question should have been
> > interpreted as what component returns the 302 (and why ?). Nothing in
> > Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.
>
> this is tomcat 4.1.24, haven't started the load tests with Tomcat 5 yet.
>
> >Well, what is it a redirect to?
> I will find out, currently I need to run some other tests for a client.
>
> > Ok, maybe. It looks like your LB is too threaded to be
> efficient, though.
> > Personally, I would like to have a Java LB :)
>
> once, I have stabilized all my test results, I will just create this LB
> using java.nio and buffers, should be a piece of cake. However, since Java
> doesn't give you the "RAW" option, the load balancer can be super
> smart, ie
> it cant do round robin between requests on a keep alive connection for
> example
>
> > Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
> > the Java program at a disadvantage.
>
> well, let me correct that, I'm using jakarta-commons-httpclient, with the
> setHttp11(false), otherwise I don't get true round robin since it
> uses keep
> alive connections, hence I can't test session replication :)
>
> I will let you know as soon as I have more test results and more data,
> thanks for all responses.
>
> Filip
>
>
> > -----Original Message-----
> > From: Remy Maucherat [mailto:remm@apache.org]
> > Sent: Friday, May 02, 2003 10:37 AM
> > To: Tomcat Developers List
> > Subject: Re: Tomcat throws 302 errors over load - clustering test
> >
> >
> > Filip Hanik wrote:
> > > I'm I am always accessing /mywebapp/index.jsp why should I get 302 the
> > > requested resource has moved temporarily. And yes, this does
> > only occur when
> > > you put some load on the servers, because the JSP does not issue a 302
> > > sendRedirect.
> >
> > Yes I understand perfectly. However, my question should have been
> > interpreted as what component returns the 302 (and why ?). Nothing in
> > Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.
> >
> > > Since it is a redirect, I don't count this as a error, instead my test
> > > client submits the exact same request again.
> >
> > That makes sense.
> >
> > > Re:Java load balancer,
> > > this solution is extremely simple, and uses two threads per
> > client socket
> > > instead of java.nio. When putting a lot of load, the context
> > switching in
> > > this process is so high that takes forever. the C load balancer simple
> > > performs better, and I believe it would even if I optimized
> the Java LB.
> >
> > Ok, maybe. It looks like your LB is too threaded to be
> efficient, though.
> > Personally, I would like to have a Java LB :)
> >
> > > The test client is running HTTP1.0, ie, a new connection for
> > each request
> > > hence the LB will redirect to different servers each time, there is no
> > > stickyness configured what so ever.
> >
> > Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
> > the Java program at a disadvantage.
> >
> > > I have also noticed that running Apache/mod_jk in front of
> > Tomcat, causes
> > > session replication to fail pretty frequently, I will
> investigate more.
> >
> > Remy
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Tomcat throws 302 errors over load - clustering test

Posted by Filip Hanik <ma...@filip.net>.
> Yes I understand perfectly. However, my question should have been
> interpreted as what component returns the 302 (and why ?). Nothing in
> Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.

this is tomcat 4.1.24, haven't started the load tests with Tomcat 5 yet.

>Well, what is it a redirect to?
I will find out, currently I need to run some other tests for a client.

> Ok, maybe. It looks like your LB is too threaded to be efficient, though.
> Personally, I would like to have a Java LB :)

once, I have stabilized all my test results, I will just create this LB
using java.nio and buffers, should be a piece of cake. However, since Java
doesn't give you the "RAW" option, the load balancer can be super smart, ie
it cant do round robin between requests on a keep alive connection for
example

> Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
> the Java program at a disadvantage.

well, let me correct that, I'm using jakarta-commons-httpclient, with the
setHttp11(false), otherwise I don't get true round robin since it uses keep
alive connections, hence I can't test session replication :)

I will let you know as soon as I have more test results and more data,
thanks for all responses.

Filip


> -----Original Message-----
> From: Remy Maucherat [mailto:remm@apache.org]
> Sent: Friday, May 02, 2003 10:37 AM
> To: Tomcat Developers List
> Subject: Re: Tomcat throws 302 errors over load - clustering test
>
>
> Filip Hanik wrote:
> > I'm I am always accessing /mywebapp/index.jsp why should I get 302 the
> > requested resource has moved temporarily. And yes, this does
> only occur when
> > you put some load on the servers, because the JSP does not issue a 302
> > sendRedirect.
>
> Yes I understand perfectly. However, my question should have been
> interpreted as what component returns the 302 (and why ?). Nothing in
> Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.
>
> > Since it is a redirect, I don't count this as a error, instead my test
> > client submits the exact same request again.
>
> That makes sense.
>
> > Re:Java load balancer,
> > this solution is extremely simple, and uses two threads per
> client socket
> > instead of java.nio. When putting a lot of load, the context
> switching in
> > this process is so high that takes forever. the C load balancer simple
> > performs better, and I believe it would even if I optimized the Java LB.
>
> Ok, maybe. It looks like your LB is too threaded to be efficient, though.
> Personally, I would like to have a Java LB :)
>
> > The test client is running HTTP1.0, ie, a new connection for
> each request
> > hence the LB will redirect to different servers each time, there is no
> > stickyness configured what so ever.
>
> Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put
> the Java program at a disadvantage.
>
> > I have also noticed that running Apache/mod_jk in front of
> Tomcat, causes
> > session replication to fail pretty frequently, I will investigate more.
>
> Remy
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Tomcat throws 302 errors over load - clustering test

Posted by Remy Maucherat <re...@apache.org>.
Filip Hanik wrote:
> I'm I am always accessing /mywebapp/index.jsp why should I get 302 the
> requested resource has moved temporarily. And yes, this does only occur when
> you put some load on the servers, because the JSP does not issue a 302
> sendRedirect.

Yes I understand perfectly. However, my question should have been 
interpreted as what component returns the 302 (and why ?). Nothing in 
Tomcat 5 (AFAIK) returns a 302 (under load or not), so I'm worried.

> Since it is a redirect, I don't count this as a error, instead my test
> client submits the exact same request again.

That makes sense.

> Re:Java load balancer,
> this solution is extremely simple, and uses two threads per client socket
> instead of java.nio. When putting a lot of load, the context switching in
> this process is so high that takes forever. the C load balancer simple
> performs better, and I believe it would even if I optimized the Java LB.

Ok, maybe. It looks like your LB is too threaded to be efficient, though.
Personally, I would like to have a Java LB :)

> The test client is running HTTP1.0, ie, a new connection for each request
> hence the LB will redirect to different servers each time, there is no
> stickyness configured what so ever.

Using HTTP/1.0 is not a real world scenario nowdays IMO, and could put 
the Java program at a disadvantage.

> I have also noticed that running Apache/mod_jk in front of Tomcat, causes
> session replication to fail pretty frequently, I will investigate more.

Remy


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Tomcat throws 302 errors over load - clustering test

Posted by Marc Slemko <ma...@znep.com>.
On Fri, 2 May 2003, Filip Hanik wrote:

> I'm I am always accessing /mywebapp/index.jsp why should I get 302 the
> requested resource has moved temporarily. And yes, this does only occur when
> you put some load on the servers, because the JSP does not issue a 302
> sendRedirect.

Well, what is it a redirect to?

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Tomcat throws 302 errors over load - clustering test

Posted by Filip Hanik <ma...@filip.net>.
I'm I am always accessing /mywebapp/index.jsp why should I get 302 the
requested resource has moved temporarily. And yes, this does only occur when
you put some load on the servers, because the JSP does not issue a 302
sendRedirect.

Since it is a redirect, I don't count this as a error, instead my test
client submits the exact same request again.

Re:Java load balancer,
this solution is extremely simple, and uses two threads per client socket
instead of java.nio. When putting a lot of load, the context switching in
this process is so high that takes forever. the C load balancer simple
performs better, and I believe it would even if I optimized the Java LB.

The test client is running HTTP1.0, ie, a new connection for each request
hence the LB will redirect to different servers each time, there is no
stickyness configured what so ever.

I have also noticed that running Apache/mod_jk in front of Tomcat, causes
session replication to fail pretty frequently, I will investigate more.

Filip

> -----Original Message-----
> From: Remy Maucherat [mailto:remm@apache.org]
> Sent: Thursday, May 01, 2003 11:27 PM
> To: Tomcat Developers List
> Subject: Re: Tomcat throws 302 errors over load - clustering test
>
>
> Filip Hanik wrote:
> > running the same test with a native C load balancer, the
> average response
> > time went from 4.5seconds to 1.9seconds.
>
> I don't understand what you really tested, or what you mean by getting
> 302. 302 is a redirect, why does it indicate an error ? And why would
> you get more 302s under load ?
>
> You had a Java LB in front of the two servers ? Just switching to a
> native LB improves performance, then ? But does it have any stickiness
> policy configurable ?
>
> Remy
>
> >>hi all,
> >>I recently performed a load test on the clustering solution for
> >>tomcat 4.1.x
> >>(http://cvs.apache.org/~fhanik/)
> >>
> >>If my unit test is correct, I received 0 replication errors,
> >>however tomcat
> >>keeps throwing 302 errors during overload. For those who are
> >>interested all
> >>the stats are below,
> >>
> >>Even if I run my test against a single tomcat server, I still
> receive the
> >>302 errors indicating that this is not a replication error. So in
> >>case of a
> >>302 I just resubmit the request once more.
> >>
> >>The test WAR and client are available upon request.
> >>
> >>
> >>Setup
> >>Linux Redhat 7.2, 512MB RAM, 800Mhz P3
> >>- 2x Tomcat 4.1.24 (C,D)
> >>- HTTP Loadbalancer
> >>
> >>Win XP Home, 512MB RAM, 2.4GHz P4
> >>- 2x Tomcat 4.1.24 (A,B)
> >>- Replication test client
> >>
> >>Network
> >>- 100Mbs LAN
> >>
> >>Test
> >>- 120 concurrent connections (keep-alive=false)
> >>- Round robin for each request
> >>- 100ms between each consecutive request (each connection sleeps
> >>100ms when
> >>one request is finished)
> >>
> >>Client statistics:
> >>Thread count=120
> >>        Average response time=4434ms
> >>        for 600000 requests.
> >>        Nr of replication errors=0
> >>        Nr of 302 errors=18257
> >>
> >>
> >>Win XP Statistics (server B):
> >>[InMemoryReplicationManager] Replication Statistics
> >>        Messages sent=116292
> >>        Message serialization time=94067ms
> >>        Average serialization time=0.80888623ms
> >>        Average session send  size=1808.64bytes
> >>        Messages received=465114
> >>        Message deserialization time=1816989
> >>        Average deserialization time=3.9065454ms
> >>
> >>Linux Statistics (Server D):
> >>[InMemoryReplicationManager] Replication Statistics
> >>        Messages sent=232578
> >>        Message serialization time=625110ms
> >>        Average serialization time=2.6877434ms
> >>        Average session send  size=1803.0104bytes
> >>        Messages received=348859
> >>        Message deserialization time=4482228ms
> >>        Average deserialization time=12.848251ms
> >>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> >>
> >>
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> >
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Re: Tomcat throws 302 errors over load - clustering test

Posted by Remy Maucherat <re...@apache.org>.
Filip Hanik wrote:
> running the same test with a native C load balancer, the average response
> time went from 4.5seconds to 1.9seconds.

I don't understand what you really tested, or what you mean by getting 
302. 302 is a redirect, why does it indicate an error ? And why would 
you get more 302s under load ?

You had a Java LB in front of the two servers ? Just switching to a 
native LB improves performance, then ? But does it have any stickiness 
policy configurable ?

Remy

>>hi all,
>>I recently performed a load test on the clustering solution for
>>tomcat 4.1.x
>>(http://cvs.apache.org/~fhanik/)
>>
>>If my unit test is correct, I received 0 replication errors,
>>however tomcat
>>keeps throwing 302 errors during overload. For those who are
>>interested all
>>the stats are below,
>>
>>Even if I run my test against a single tomcat server, I still receive the
>>302 errors indicating that this is not a replication error. So in
>>case of a
>>302 I just resubmit the request once more.
>>
>>The test WAR and client are available upon request.
>>
>>
>>Setup
>>Linux Redhat 7.2, 512MB RAM, 800Mhz P3
>>- 2x Tomcat 4.1.24 (C,D)
>>- HTTP Loadbalancer
>>
>>Win XP Home, 512MB RAM, 2.4GHz P4
>>- 2x Tomcat 4.1.24 (A,B)
>>- Replication test client
>>
>>Network
>>- 100Mbs LAN
>>
>>Test
>>- 120 concurrent connections (keep-alive=false)
>>- Round robin for each request
>>- 100ms between each consecutive request (each connection sleeps
>>100ms when
>>one request is finished)
>>
>>Client statistics:
>>Thread count=120
>>        Average response time=4434ms
>>        for 600000 requests.
>>        Nr of replication errors=0
>>        Nr of 302 errors=18257
>>
>>
>>Win XP Statistics (server B):
>>[InMemoryReplicationManager] Replication Statistics
>>        Messages sent=116292
>>        Message serialization time=94067ms
>>        Average serialization time=0.80888623ms
>>        Average session send  size=1808.64bytes
>>        Messages received=465114
>>        Message deserialization time=1816989
>>        Average deserialization time=3.9065454ms
>>
>>Linux Statistics (Server D):
>>[InMemoryReplicationManager] Replication Statistics
>>        Messages sent=232578
>>        Message serialization time=625110ms
>>        Average serialization time=2.6877434ms
>>        Average session send  size=1803.0104bytes
>>        Messages received=348859
>>        Message deserialization time=4482228ms
>>        Average deserialization time=12.848251ms
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>>
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 
> 
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


RE: Tomcat throws 302 errors over load - clustering test

Posted by Filip Hanik <ma...@filip.net>.
running the same test with a native C load balancer, the average response
time went from 4.5seconds to 1.9seconds.

Filip

> -----Original Message-----
> From: Filip Hanik [mailto:mail@filip.net]
> Sent: Thursday, May 01, 2003 10:04 AM
> To: Tomcat-Dev
> Subject: Tomcat throws 302 errors over load - clustering test
>
>
> hi all,
> I recently performed a load test on the clustering solution for
> tomcat 4.1.x
> (http://cvs.apache.org/~fhanik/)
>
> If my unit test is correct, I received 0 replication errors,
> however tomcat
> keeps throwing 302 errors during overload. For those who are
> interested all
> the stats are below,
>
> Even if I run my test against a single tomcat server, I still receive the
> 302 errors indicating that this is not a replication error. So in
> case of a
> 302 I just resubmit the request once more.
>
> The test WAR and client are available upon request.
>
>
> Setup
> Linux Redhat 7.2, 512MB RAM, 800Mhz P3
> - 2x Tomcat 4.1.24 (C,D)
> - HTTP Loadbalancer
>
> Win XP Home, 512MB RAM, 2.4GHz P4
> - 2x Tomcat 4.1.24 (A,B)
> - Replication test client
>
> Network
> - 100Mbs LAN
>
> Test
> - 120 concurrent connections (keep-alive=false)
> - Round robin for each request
> - 100ms between each consecutive request (each connection sleeps
> 100ms when
> one request is finished)
>
> Client statistics:
> Thread count=120
>         Average response time=4434ms
>         for 600000 requests.
>         Nr of replication errors=0
>         Nr of 302 errors=18257
>
>
> Win XP Statistics (server B):
> [InMemoryReplicationManager] Replication Statistics
>         Messages sent=116292
>         Message serialization time=94067ms
>         Average serialization time=0.80888623ms
>         Average session send  size=1808.64bytes
>         Messages received=465114
>         Message deserialization time=1816989
>         Average deserialization time=3.9065454ms
>
> Linux Statistics (Server D):
> [InMemoryReplicationManager] Replication Statistics
>         Messages sent=232578
>         Message serialization time=625110ms
>         Average serialization time=2.6877434ms
>         Average session send  size=1803.0104bytes
>         Messages received=348859
>         Message deserialization time=4482228ms
>         Average deserialization time=12.848251ms
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org