Re: Tomcat Performance Question
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
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
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
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
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
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
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
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
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]