Re: Tomcat Performance Question

2008-01-26 Thread David Brown
Hello Ali, please find included below a link URL that addresses the JSF 
performance issue. A much more rigorous test would be to use the JMeter 
distributed testing using the JMeter server. HTH, David.

Ali Ok wrote ..
 Hi,
 
 We are building a web application with JSF. Last day I tested it with
 JMeter. Results are bad (I guess).
 
 Then I tried to send 3 requests with JMeter to Shuffle Example in
 Tomcat's examples directory with a limited size of (256 MB I think) memory
 resource given to Tomcat. This Shuffle Example does not query database or
 does not make complicated operations as you know; it is very simple.
 
 Question is, what should I expect? Does it have to respond all requests? Or
 is it normal to throw an exception about Too many open files (I use NIO
 connector) and finally OutOfMemoryError and parachute-thing?
 
 After I solve this, I can go on to JSF application testing.
 
 
 I couldnt find documents enough about this issue. Can you send me some
 links?
 
 Thanks in advance.

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat Performance Question

2008-01-26 Thread Ali Ok
Thanks David,

I mean, if I make 3 requests in a very short time (about 10 seconds);
Tomcat does not respond.
I read books, tutorials, faqs and threads at maling list about Tomcat
tuning. But I couldnt find an example server.xml file used in production or
real test results.

So I cant understand if 3 requests in 10 seconds is normal or not.



2008/1/26, David Brown [EMAIL PROTECTED]:

 Hello Ali, please find included below a link URL that addresses the JSF
 performance issue. A much more rigorous test would be to use the JMeter
 distributed testing using the JMeter server. HTH, David.

 Ali Ok wrote ..
  Hi,
 
  We are building a web application with JSF. Last day I tested it with
  JMeter. Results are bad (I guess).
 
  Then I tried to send 3 requests with JMeter to Shuffle Example in
  Tomcat's examples directory with a limited size of (256 MB I think)
 memory
  resource given to Tomcat. This Shuffle Example does not query database
 or
  does not make complicated operations as you know; it is very simple.
 
  Question is, what should I expect? Does it have to respond all requests?
 Or
  is it normal to throw an exception about Too many open files (I use
 NIO
  connector) and finally OutOfMemoryError and parachute-thing?
 
  After I solve this, I can go on to JSF application testing.
 
 
  I couldnt find documents enough about this issue. Can you send me some
  links?
 
  Thanks in advance.

 -
 To start a new topic, e-mail: users@tomcat.apache.org
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: Tomcat Performance Question

2008-01-26 Thread Peter Lin
30,000 requests in 10 seconds probably isn't normal traffic, but it could
represent a sudden spike.

think of it another way, that's 3,000 requests per second. If we calculate
that for a 10 hour period, it puts things in perspective

1000 req/sec * 60 sec/min = 60,000 req/min
60,000 req/min * 60 min/hr = 3,600,000 req/hr
3,600,000 req/hr * 10 hr = 36,000,000 req

that means during normal work hours, the server would get 36 million
requests. to handle that kind of traffic, first you have to have the
bandwidth. There's an old performance article I wrote that's listed on
tomcat's article section. read that and see if it helps

peter

On Jan 26, 2008 10:14 AM, Ali Ok [EMAIL PROTECTED] wrote:

 Thanks David,

 I mean, if I make 3 requests in a very short time (about 10 seconds);
 Tomcat does not respond.
 I read books, tutorials, faqs and threads at maling list about Tomcat
 tuning. But I couldnt find an example server.xml file used in production
 or
 real test results.

 So I cant understand if 3 requests in 10 seconds is normal or not.



 2008/1/26, David Brown [EMAIL PROTECTED]:
 
  Hello Ali, please find included below a link URL that addresses the JSF
  performance issue. A much more rigorous test would be to use the JMeter
  distributed testing using the JMeter server. HTH, David.
 
  Ali Ok wrote ..
   Hi,
  
   We are building a web application with JSF. Last day I tested it with
   JMeter. Results are bad (I guess).
  
   Then I tried to send 3 requests with JMeter to Shuffle Example
 in
   Tomcat's examples directory with a limited size of (256 MB I think)
  memory
   resource given to Tomcat. This Shuffle Example does not query
 database
  or
   does not make complicated operations as you know; it is very simple.
  
   Question is, what should I expect? Does it have to respond all
 requests?
  Or
   is it normal to throw an exception about Too many open files (I use
  NIO
   connector) and finally OutOfMemoryError and parachute-thing?
  
   After I solve this, I can go on to JSF application testing.
  
  
   I couldnt find documents enough about this issue. Can you send me some
   links?
  
   Thanks in advance.
 
  -
  To start a new topic, e-mail: users@tomcat.apache.org
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 



Re: Tomcat Performance Question

2008-01-26 Thread David Brown
Hello Ali, there are no absolute benchmarks for what you are looking for. The 
central theme to any performance questions invariably lead to the A word 
(Architecture). You need to evaluate you overall architecture from a high level 
perspective. With this said the questions then are:
* What is your planned network topology once you go to production? This 
question naturally leads to what is your hosting options? If you   have a 
datacenter and have configured and installed your own servers is the best. Next 
option is to build your servers and then co-locate. The least advantageous 
option is renting servers (serverbeach.com etc.). If you are hosting locally 
what is your upstream provider? (fat pipe) and type of connection: T1, T3, OC1, 
OC3 etc.
* Type of scaling (horizontal vs vertical)
* Invariably performance issues are rarely a result of the web container 
(Tomcat). You need to look at the developed software (dot).war that is deployed 
on TC (use JMeter or some recognized software testing tools).
* I have worked on high volume financial web applications that are running at 3 
to 4000 transactions/sec. A transaction is end-to-end a round-trip time 
starting with the HTTP connection, processing and connection to the backend DB, 
query results returned and subsequently a results web page displayed. This is a 
HTTP get, put or post transaction.
* You are hitting your TC with 3 transactions with a ramp up speed of 10 
seconds so you are at 3000/sec. If as you say the web container is not handling 
this you still need to look at what you web application is doing.

Ultimately, using JMeter you need to look here:
http://wiki.apache.org/jakarta-jmeter/

A expert in this area is Peter Lin:
http://tomcat.apache.org/articles/performance.pdf

The JMeter has specific JSF testing reading:
http://wiki.apache.org/myfaces/PerformanceTestingWithJMeter

Ali Ok wrote ..
 Thanks David,
 
 I mean, if I make 3 requests in a very short time (about 10 seconds);
 Tomcat does not respond.
 I read books, tutorials, faqs and threads at maling list about Tomcat
 tuning. But I couldnt find an example server.xml file used in production or
 real test results.
 
 So I cant understand if 3 requests in 10 seconds is normal or not.
 
 
 
 2008/1/26, David Brown [EMAIL PROTECTED]:
 
  Hello Ali, please find included below a link URL that addresses the JSF
  performance issue. A much more rigorous test would be to use the JMeter
  distributed testing using the JMeter server. HTH, David.
 
  Ali Ok wrote ..
   Hi,
  
   We are building a web application with JSF. Last day I tested it with
   JMeter. Results are bad (I guess).
  
   Then I tried to send 3 requests with JMeter to Shuffle Example in
   Tomcat's examples directory with a limited size of (256 MB I think)
  memory
   resource given to Tomcat. This Shuffle Example does not query database
  or
   does not make complicated operations as you know; it is very simple.
  
   Question is, what should I expect? Does it have to respond all requests?
  Or
   is it normal to throw an exception about Too many open files (I use
  NIO
   connector) and finally OutOfMemoryError and parachute-thing?
  
   After I solve this, I can go on to JSF application testing.
  
  
   I couldnt find documents enough about this issue. Can you send me some
   links?
  
   Thanks in advance.
 
  -
  To start a new topic, e-mail: users@tomcat.apache.org
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat Performance Question

2008-01-26 Thread Ali Ok
Peter, thats ok, maybe some day we can get that much hit :)

What if someone make so much requests and confuse the server?
Does Tomcat have an prevention for this situation? Or is it beyond the
scope?

David, I have already read all of resources you sent.

Invariably performance issues are rarely a result of the web container
 (Tomcat). You need to look at the developed software (dot).war that is
 deployed on TC (use JMeter or some recognized software testing tools).




* You are hitting your TC with 3 transactions with a ramp up speed of 10
 seconds so you are at 3000/sec. If as you say the web container is not
 handling this you still need to look at what you web application is doing.


I dont talk about my application. It may contain bugs or incorrect logic,
blaming Tomcat is not my intention. Many people thank developers and I
admire Apache SF.

I make that test of mine with Shuffle Example comes with Tomcat (XXX
/examples/jsp/jsp2/jspattribute/shuffle.jsp). And it is a simple JSP page,
cannot contain bugs :)

* What is your planned network topology once you go to production? This
 question naturally leads to what is your hosting options? If you   have a
 datacenter and have configured and installed your own servers is the best.
 Next option is to build your servers and then co-locate. The least
 advantageous option is renting servers (serverbeach.com etc.). If you are
 hosting locally what is your upstream provider? (fat pipe) and type of
 connection: T1, T3, OC1, OC3 etc.
 * Type of scaling (horizontal vs vertical)


My purpose is finding out the limits of Tomcat with constant resources at
the moment. Then I will continue with these.


I just want to have an idea in general. However its better to give details.

OS: Debian 4.0 r0 on VmWare
RAM assigned to virtual machine: 1 gb
CPU: Intel Core 2 Duo, 2 Ghz etc.
Tomcat: 6.0.13


My starting script:

/home/kullanici/Desktop/programlar/jdk1.6.0_03/bin/java -Xmx256m -Xms128m -
Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -
Djava.util.logging.config.file=/home/kullanici/Desktop/programlar/Tomcat_6_win/conf/logging.properties-
Djava.endorsed.dirs=/home/kullanici/Desktop/programlar/Tomcat_6_win/endorsed-classpath
:/home/kullanici/Desktop/programlar/Tomcat_6_win/bin/bootstrap.jar:/home/kullanici/Desktop/programlar/Tomcat_6_win/bin/commons-
logging-api.jar -
Dcatalina.base=/home/kullanici/Desktop/programlar/Tomcat_6_win -
Dcatalina.home=/home/kullanici/Desktop/programlar/Tomcat_6_win -
Djava.io.tmpdir=/home/kullanici/Desktop/programlar/Tomcat_6_win/temp
org.apache.catalina.startup.Bootstrap start


Thank you, Peter and David



2008/1/26, David Brown [EMAIL PROTECTED]:

 Hello Ali, there are no absolute benchmarks for what you are looking for.
 The central theme to any performance questions invariably lead to the A
 word (Architecture). You need to evaluate you overall architecture from a
 high level perspective. With this said the questions then are:
 * What is your planned network topology once you go to production? This
 question naturally leads to what is your hosting options? If you   have a
 datacenter and have configured and installed your own servers is the best.
 Next option is to build your servers and then co-locate. The least
 advantageous option is renting servers (serverbeach.com etc.). If you are
 hosting locally what is your upstream provider? (fat pipe) and type of
 connection: T1, T3, OC1, OC3 etc.
 * Type of scaling (horizontal vs vertical)
 * Invariably performance issues are rarely a result of the web container
 (Tomcat). You need to look at the developed software (dot).war that is
 deployed on TC (use JMeter or some recognized software testing tools).
 * I have worked on high volume financial web applications that are running
 at 3 to 4000 transactions/sec. A transaction is end-to-end a round-trip time
 starting with the HTTP connection, processing and connection to the backend
 DB, query results returned and subsequently a results web page displayed.
 This is a HTTP get, put or post transaction.
 * You are hitting your TC with 3 transactions with a ramp up speed of
 10 seconds so you are at 3000/sec. If as you say the web container is not
 handling this you still need to look at what you web application is doing.

 Ultimately, using JMeter you need to look here:
 http://wiki.apache.org/jakarta-jmeter/

 A expert in this area is Peter Lin:
 http://tomcat.apache.org/articles/performance.pdf

 The JMeter has specific JSF testing reading:
 http://wiki.apache.org/myfaces/PerformanceTestingWithJMeter

 Ali Ok wrote ..
  Thanks David,
 
  I mean, if I make 3 requests in a very short time (about 10
 seconds);
  Tomcat does not respond.
  I read books, tutorials, faqs and threads at maling list about Tomcat
  tuning. But I couldnt find an example server.xml file used in production
 or
  real test results.
 
  So I cant understand if 3 requests in 10 seconds is normal or not.
 
 
 
  2008/1/26, David Brown 

RE: Tomcat Performance Question

2008-01-26 Thread Caldarale, Charles R
 From: Ali Ok [mailto:[EMAIL PROTECTED] 
 Subject: Re: Tomcat Performance Question
 
 What if someone make so much requests and confuse the server?
 Does Tomcat have an prevention for this situation?

You can configure the maximum number of requests a Connector will
handle concurrently, as well as the maximum number Tomcat will queue for
the Connector before discarding them:
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

See the 3rd paragraph of the Introduction.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you
received this in error, please contact the sender and delete the e-mail
and its attachments from all computers.

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat Performance Question

2008-01-26 Thread Peter Lin
have you tried monitoring the CPU and IO usage of the system during the
test?

In the past, when I stress test an application, I monitor the cpu and io, to
determine which part is getting maxed out first. For example, if I was
serving up static pages, the first thing to mak out is the IO, so even
though tomcat could handle greater loads, it can't because of the IO. What I
usually do is identify the bottlenecks in the application by testing each
part separately. Once I know the max through of each component, I ran the
stress test with JMeter.

If you haven't measured each piece individually, it will be difficult to
figure why the application is slow.

hope that helps

peter

On Jan 26, 2008 11:32 AM, Ali Ok [EMAIL PROTECTED] wrote:

 Peter, thats ok, maybe some day we can get that much hit :)

 What if someone make so much requests and confuse the server?
 Does Tomcat have an prevention for this situation? Or is it beyond the
 scope?

 David, I have already read all of resources you sent.

 Invariably performance issues are rarely a result of the web container
  (Tomcat). You need to look at the developed software (dot).war that is
  deployed on TC (use JMeter or some recognized software testing tools).




 * You are hitting your TC with 3 transactions with a ramp up speed of
 10
  seconds so you are at 3000/sec. If as you say the web container is not
  handling this you still need to look at what you web application is
 doing.
 

 I dont talk about my application. It may contain bugs or incorrect logic,
 blaming Tomcat is not my intention. Many people thank developers and I
 admire Apache SF.

 I make that test of mine with Shuffle Example comes with Tomcat (XXX
 /examples/jsp/jsp2/jspattribute/shuffle.jsp). And it is a simple JSP page,
 cannot contain bugs :)

 * What is your planned network topology once you go to production? This
  question naturally leads to what is your hosting options? If you   have
 a
  datacenter and have configured and installed your own servers is the
 best.
  Next option is to build your servers and then co-locate. The least
  advantageous option is renting servers (serverbeach.com etc.). If you
 are
  hosting locally what is your upstream provider? (fat pipe) and type of
  connection: T1, T3, OC1, OC3 etc.
  * Type of scaling (horizontal vs vertical)
 

 My purpose is finding out the limits of Tomcat with constant resources at
 the moment. Then I will continue with these.


 I just want to have an idea in general. However its better to give
 details.

 OS: Debian 4.0 r0 on VmWare
 RAM assigned to virtual machine: 1 gb
 CPU: Intel Core 2 Duo, 2 Ghz etc.
 Tomcat: 6.0.13


 My starting script:

 /home/kullanici/Desktop/programlar/jdk1.6.0_03/bin/java -Xmx256m -Xms128m
 -
 Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -

 Djava.util.logging.config.file=/home/kullanici/Desktop/programlar/Tomcat_6_win/conf/logging.properties-

 Djava.endorsed.dirs=/home/kullanici/Desktop/programlar/Tomcat_6_win/endorsed-classpath

 :/home/kullanici/Desktop/programlar/Tomcat_6_win/bin/bootstrap.jar:/home/kullanici/Desktop/programlar/Tomcat_6_win/bin/commons-
 logging-api.jar -
 Dcatalina.base=/home/kullanici/Desktop/programlar/Tomcat_6_win -
 Dcatalina.home=/home/kullanici/Desktop/programlar/Tomcat_6_win -
 Djava.io.tmpdir=/home/kullanici/Desktop/programlar/Tomcat_6_win/temp
 org.apache.catalina.startup.Bootstrap start


 Thank you, Peter and David



 2008/1/26, David Brown [EMAIL PROTECTED]:
 
  Hello Ali, there are no absolute benchmarks for what you are looking
 for.
  The central theme to any performance questions invariably lead to the
 A
  word (Architecture). You need to evaluate you overall architecture from
 a
  high level perspective. With this said the questions then are:
  * What is your planned network topology once you go to production? This
  question naturally leads to what is your hosting options? If you   have
 a
  datacenter and have configured and installed your own servers is the
 best.
  Next option is to build your servers and then co-locate. The least
  advantageous option is renting servers (serverbeach.com etc.). If you
 are
  hosting locally what is your upstream provider? (fat pipe) and type of
  connection: T1, T3, OC1, OC3 etc.
  * Type of scaling (horizontal vs vertical)
  * Invariably performance issues are rarely a result of the web container
  (Tomcat). You need to look at the developed software (dot).war that is
  deployed on TC (use JMeter or some recognized software testing tools).
  * I have worked on high volume financial web applications that are
 running
  at 3 to 4000 transactions/sec. A transaction is end-to-end a round-trip
 time
  starting with the HTTP connection, processing and connection to the
 backend
  DB, query results returned and subsequently a results web page
 displayed.
  This is a HTTP get, put or post transaction.
  * You are hitting your TC with 3 transactions with a ramp up speed
 of
  10 seconds so you are at 

Re: Tomcat Performance Question

2008-01-26 Thread David Kerber

Ali Ok wrote:

Thanks David,

I mean, if I make 3 requests in a very short time (about 10 seconds);
Tomcat does not respond.
I read books, tutorials, faqs and threads at maling list about Tomcat
tuning. But I couldnt find an example server.xml file used in production or
real test results.

So I cant understand if 3 requests in 10 seconds is normal or not.
  
3000 requests per second is something on the order of what microsoft 
gets on its entire set of websites (microsoft.com, hotmail, live, etc, 
all combined), and they have a big server farm running it.  That's a lot 
of requests, and you need to provision your hardware and bandwidth 
accordingly.


D



-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Tomcat Performance Question

2008-01-26 Thread mgainty
Good Point
suggest taking a look at implementing Tomcat Clustering to accomodate
greater loads
http://wiki.apache.org/tomcat/FAQ/Clustering

M-
- Original Message -
Wrom: VRESKPNKMBIPBARHDMNNSKVFVWRKJVZCMHVIB
To: Tomcat Users List users@tomcat.apache.org
Sent: Saturday, January 26, 2008 2:18 PM
Subject: Re: Tomcat Performance Question


 Ali Ok wrote:
  Thanks David,
 
  I mean, if I make 3 requests in a very short time (about 10
seconds);
  Tomcat does not respond.
  I read books, tutorials, faqs and threads at maling list about Tomcat
  tuning. But I couldnt find an example server.xml file used in production
or
  real test results.
 
  So I cant understand if 3 requests in 10 seconds is normal or not.
 
 3000 requests per second is something on the order of what microsoft
 gets on its entire set of websites (microsoft.com, hotmail, live, etc,
 all combined), and they have a big server farm running it.  That's a lot
 of requests, and you need to provision your hardware and bandwidth
 accordingly.

 D



 -
 To start a new topic, e-mail: users@tomcat.apache.org
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]