Scalability issue question
Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,92583 ,00.html I currently only get around 250 k hits per day but we're about to integrate email with Livelink and that puts me into a whole new performance arena. Any thoughts or guidance would be appreciated. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Scalability issue question
It can be a good idea to have it load balanced from a performance and uptime point of view. It is hard to absolutely decipher what each Tomcat can specifically handle in terms of load. A load test, which emualates user actions, may give you a ball park. The dependencies are on network, server OS, memory, JVM etc. regards, Hari Mailvaganam On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,92583 ,00.html I currently only get around 250 k hits per day but we're about to integrate email with Livelink and that puts me into a whole new performance arena. Any thoughts or guidance would be appreciated. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - 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: Scalability issue question
Sorry hit send to fast Tomcat 5.0 and J2SDK 1.42.06 are the versions Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright -Original Message- From: Hari Mailvaganam [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 1:59 PM To: Tomcat Users List Subject: Re: Scalability issue question It can be a good idea to have it load balanced from a performance and uptime point of view. It is hard to absolutely decipher what each Tomcat can specifically handle in terms of load. A load test, which emualates user actions, may give you a ball park. The dependencies are on network, server OS, memory, JVM etc. regards, Hari Mailvaganam On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,925 83 ,00.html I currently only get around 250 k hits per day but we're about to integrate email with Livelink and that puts me into a whole new performance arena. Any thoughts or guidance would be appreciated. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - 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] Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Scalability issue question
Network is 100megabit Server are 2- HP DL380g4 Dual 3.4gig Xeon chips with 4gig of Ram running Win2003 Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright -Original Message- From: Hari Mailvaganam [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 1:59 PM To: Tomcat Users List Subject: Re: Scalability issue question It can be a good idea to have it load balanced from a performance and uptime point of view. It is hard to absolutely decipher what each Tomcat can specifically handle in terms of load. A load test, which emualates user actions, may give you a ball park. The dependencies are on network, server OS, memory, JVM etc. regards, Hari Mailvaganam On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,925 83 ,00.html I currently only get around 250 k hits per day but we're about to integrate email with Livelink and that puts me into a whole new performance arena. Any thoughts or guidance would be appreciated. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Scalability issue question
you could always look at the new performance benchmark i ran for static files on the resources page. it shows the performance of tomcat 5 as the number of clients increase and file size increases. hope that helps peter On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Network is 100megabit Server are 2- HP DL380g4 Dual 3.4gig Xeon chips with 4gig of Ram running Win2003 Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright -Original Message- From: Hari Mailvaganam [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 1:59 PM To: Tomcat Users List Subject: Re: Scalability issue question It can be a good idea to have it load balanced from a performance and uptime point of view. It is hard to absolutely decipher what each Tomcat can specifically handle in terms of load. A load test, which emualates user actions, may give you a ball park. The dependencies are on network, server OS, memory, JVM etc. regards, Hari Mailvaganam On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,925 83 ,00.html I currently only get around 250 k hits per day but we're about to integrate email with Livelink and that puts me into a whole new performance arena. Any thoughts or guidance would be appreciated. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - 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] - 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: Scalability issue question
I'm a true newbie to this site. I found your article after I submitted the thread. I'm halfway thru it now. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 2:29 PM To: Tomcat Users List Subject: Re: Scalability issue question you could always look at the new performance benchmark i ran for static files on the resources page. it shows the performance of tomcat 5 as the number of clients increase and file size increases. hope that helps peter On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Network is 100megabit Server are 2- HP DL380g4 Dual 3.4gig Xeon chips with 4gig of Ram running Win2003 Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright -Original Message- From: Hari Mailvaganam [mailto:[EMAIL PROTECTED] Sent: Thursday, June 02, 2005 1:59 PM To: Tomcat Users List Subject: Re: Scalability issue question It can be a good idea to have it load balanced from a performance and uptime point of view. It is hard to absolutely decipher what each Tomcat can specifically handle in terms of load. A load test, which emualates user actions, may give you a ball park. The dependencies are on network, server OS, memory, JVM etc. regards, Hari Mailvaganam On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,9 25 83 ,00.html I currently only get around 250 k hits per day but we're about to integrate email with Livelink and that puts me into a whole new performance arena. Any thoughts or guidance would be appreciated. Scott Wallace Livelink Global Infrastructure Coordinator [EMAIL PROTECTED] 405-270-2027 wk 405-323-2237 cell 405-228-6027 fax I have an existential map; it has 'you are here' written all over it. - Steven Wright Important Notice!! If you are not the intended recipient of this e-mail message, any use, distribution or copying of the message is prohibited. Please let me know immediately by return e-mail if you have received this message by mistake, then delete the e-mail message. Thank you. - 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] - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Scalability issue question
On 6/2/05, Wallace, Scott [EMAIL PROTECTED] wrote: Currently using IIS and the ISAPI Tomcat redirect. Would like to just use Tomcat instead but don't know if it can handle my static content. The book Apache Tomcat 5 published by WROX warns of performance issues with static content, but ComputerWorld just did an article about Weather.com running their site on multiple load balanced Tomcat servers servicing 18 million hits a day. http://www.computerworld.com/softwaretopics/os/linux/story/0,10801,92583 ,00.html You do realize that article is over a year old don't you? That would be based around Tomcat 4.X and there have been leaps and bounds in perfomance with 5.0 and 5.5 so Tomcat should fare even better than it did back then. However I would be surprised if weather.com were using the Apache webserver and looking at Netcraft it looks like they are, no idea what connectors they are using though. Regards, -- Jason Bainbridge http://kde.org - [EMAIL PROTECTED] Personal Site - http://jasonbainbridge.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat scalability
Hi, If you want to use Tomcat for high loads, I suggest you to use apache/mod_jk and a cluster of Tomcat instances. With this solution you'll have load-balancing and failover for a lot of users. I don't use a HP very powerful, so, for the performances, I don't know if it is better to have one instance or several instances, but for the administration (applications upgrades, ...) and failover it is better to have several ones. For high performances, some readings : http://cvs.apache.org/~woolfel/benchmark_summary.pdf http://cvs.apache.org/~woolfel/tc_results.html http://brandlay.com/wojtek/publ/tomcat.jsp http://marc.theaimsgroup.com/?l=tomcat-userm=110906276815396w=2 http://www.servlets.com/cos/javadoc/com/oreilly/servlet/CacheHttpServlet.html http://simpleweb.sourceforge.net/performance/comparison.php a tool to test performances : Jmeter (http://jakarta.apache.org/jmeter/) Regards. On Thu, 07 Apr 2005 10:29:22 +0530 Shrikant Navelkar [EMAIL PROTECTED] wrote: Hi, We are planning to deploy an application (JSP/Tomcat/Oracle) for 300-400 concurrent users. The hardware is HP/True UNIX platform and it is very powerful. Unfortunately we can not deploy the application in a phased wise manner. Can somebody help us to understand : 1. How scalable Tomcat is ? Are there sufficient examples of Tomcat for 300 + users ? 1. What are the tools available for scalability testing ? 2. Any document describing performance tuning of Tomcat server 3. Can we implement multiple tomcat instances on same server for better performance ? Thanks in advance Shrikant - 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 scalability
1a) It depends on your code. TOmcat can handle it but only if your code can also scale. 1b) Free: Jmeter, seige, apache ab - it depends on the type of test 2) See the faq or wiki http://jakarta.apache.org/tomcat/faq/performance.html http://wiki.apache.org/jakarta-tomcat/UsefulLinks 3) Maybe. This really depends on - Do you have multiple CPUs - Can you a single JVM use multiple CPU's effectively (as compared to 2 or more) - Do you have enough memory - What nuances (to your advantage or disadvantage) are there is thread scheduing across mutlitple JVMs / CPUs for your OS. -Tim Shrikant Navelkar wrote: Hi, We are planning to deploy an application (JSP/Tomcat/Oracle) for 300-400 concurrent users. The hardware is HP/True UNIX platform and it is very powerful. Unfortunately we can not deploy the application in a phased wise manner. Can somebody help us to understand : 1. How scalable Tomcat is ? Are there sufficient examples of Tomcat for 300 + users ? 1. What are the tools available for scalability testing ? 2. Any document describing performance tuning of Tomcat server 3. Can we implement multiple tomcat instances on same server for better performance ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat scalability
before you can answer that question, you need to know what the average and peak concurrent requests is. without that 300-400 concurrent users doesn't mean much. If those 400 users hit the site once per minute average over 30 minutes, it would mean 12,000 requests in 30 minutes. Even if the user hits the site once every 30 seconds, that would only be double 24,000 requests in 30 minutes. if I naively divide that to get requests/second, I get roughly 14 concurrent requests per second. Put it another way, that is basically 4% of the users sending a request at the same time. I would suggest stress testing your application. It's probably a good idea to look at your production access logs and run some stats. that way you're using real data as the basis of your test. peter On Apr 7, 2005 12:59 AM, Shrikant Navelkar [EMAIL PROTECTED] wrote: Hi, We are planning to deploy an application (JSP/Tomcat/Oracle) for 300-400 concurrent users. The hardware is HP/True UNIX platform and it is very powerful. Unfortunately we can not deploy the application in a phased wise manner. Can somebody help us to understand : 1. How scalable Tomcat is ? Are there sufficient examples of Tomcat for 300 + users ? 1. What are the tools available for scalability testing ? 2. Any document describing performance tuning of Tomcat server 3. Can we implement multiple tomcat instances on same server for better performance ? Thanks in advance Shrikant - 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]
Tomcat scalability
Hi, We are planning to deploy an application (JSP/Tomcat/Oracle) for 300-400 concurrent users. The hardware is HP/True UNIX platform and it is very powerful. Unfortunately we can not deploy the application in a phased wise manner. Can somebody help us to understand : 1. How scalable Tomcat is ? Are there sufficient examples of Tomcat for 300 + users ? 1. What are the tools available for scalability testing ? 2. Any document describing performance tuning of Tomcat server 3. Can we implement multiple tomcat instances on same server for better performance ? Thanks in advance Shrikant - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Throughput and scalability
Hey Peter - Where can I get the articles - are they in the FAQ or the archive somewhere. Any keywords you can suggest? -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 23, 2005 5:59 PM To: Tomcat Users List Subject: Re: Throughput and scalability if you're talking about XML transformation, the biggest factor is the parser you use and the cpu speed. If you read my old performance article on the resource page, you can see some old numbers for AMD 2ghz system. depending on how much XML you need to handle concurrently, you may want to consider XML accelerators to get near wire speed. The primary limitations for XML processing is CPU and RAM. hope that helps peter On Wed, 23 Feb 2005 14:25:32 -0800, Ross Poppel [EMAIL PROTECTED] wrote: Hi Tomcat Users - We are implementing Tomcat (with Axis) for HTML translation to a proprietary format (as a pass-thru). This is for submission to an external system (its pretty simple data) and back again. We were wondering if anyone has any ideas how you would size a box (Solaris/HP-UX based) if you want to get a specific throughput (x number of messages per second). Is there any guidelines anyone can recommend? --- Ross Poppel - [EMAIL PROTECTED] Solutions Architect, PORTAL Software Cell: (609) 744-2050 EFax: (617) 344-2585 SMS: [EMAIL PROTECTED] - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Throughput and scalability
It sounds like you are writing your own Business Integration Engine Ross, sometimes referred to as Enterprise Service Buses. They just take requests in 1 format, translate them to another format and pass them along - potentially splitting off actions and conditionally passing the request to multiple services. They are designed and optimized for those tasks. I believe there are several open source projects for this and I think they use Tomcat: http://bie.sourceforge.net/ http://activemq.codehaus.org/ http://www.openadaptor.org/ There are also several commercial ESB's- some designed for high scalability and redundancy, but they are pricey. Maybe these are overkill for what you are doing, but I suggest having a look at them before rolling your own. Byron -Original Message- From: Ross Poppel [mailto:[EMAIL PROTECTED] Sent: Thursday, February 24, 2005 10:18 AM To: Tomcat Users List; Peter Lin Subject: RE: Throughput and scalability Hey Peter - Where can I get the articles - are they in the FAQ or the archive somewhere. Any keywords you can suggest? -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 23, 2005 5:59 PM To: Tomcat Users List Subject: Re: Throughput and scalability if you're talking about XML transformation, the biggest factor is the parser you use and the cpu speed. If you read my old performance article on the resource page, you can see some old numbers for AMD 2ghz system. depending on how much XML you need to handle concurrently, you may want to consider XML accelerators to get near wire speed. The primary limitations for XML processing is CPU and RAM. hope that helps peter On Wed, 23 Feb 2005 14:25:32 -0800, Ross Poppel [EMAIL PROTECTED] wrote: Hi Tomcat Users - We are implementing Tomcat (with Axis) for HTML translation to a proprietary format (as a pass-thru). This is for submission to an external system (its pretty simple data) and back again. We were wondering if anyone has any ideas how you would size a box (Solaris/HP-UX based) if you want to get a specific throughput (x number of messages per second). Is there any guidelines anyone can recommend? --- Ross Poppel - [EMAIL PROTECTED] Solutions Architect, PORTAL Software Cell: (609) 744-2050 EFax: (617) 344-2585 SMS: [EMAIL PROTECTED] - 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] - 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]
Throughput and scalability
Hi Tomcat Users - We are implementing Tomcat (with Axis) for HTML translation to a proprietary format (as a pass-thru). This is for submission to an external system (its pretty simple data) and back again. We were wondering if anyone has any ideas how you would size a box (Solaris/HP-UX based) if you want to get a specific throughput (x number of messages per second). Is there any guidelines anyone can recommend? --- Ross Poppel - [EMAIL PROTECTED] Solutions Architect, PORTAL Software Cell: (609) 744-2050 EFax: (617) 344-2585 SMS: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Throughput and scalability
I do not think that anyone can answer that but you. It is so application specific that any answers we give would be SWAGs at best. Larry On Wed, 23 Feb 2005 14:25:32 -0800, Ross Poppel [EMAIL PROTECTED] wrote: Hi Tomcat Users - We are implementing Tomcat (with Axis) for HTML translation to a proprietary format (as a pass-thru). This is for submission to an external system (its pretty simple data) and back again. We were wondering if anyone has any ideas how you would size a box (Solaris/HP-UX based) if you want to get a specific throughput (x number of messages per second). Is there any guidelines anyone can recommend? --- Ross Poppel - [EMAIL PROTECTED] Solutions Architect, PORTAL Software Cell: (609) 744-2050 EFax: (617) 344-2585 SMS: [EMAIL PROTECTED] - 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: [OT] Throughput and scalability
Ross, I recommend that you think along the lines of expandability. That is, a load balancer in front of tomcat(s) running on one or more servers. As demand increases you add more instances, then another server. There is also the nature of the communication with the external system to consider. It sounds like you should profile the app at a range of loads, identify bottlenecks, and design/specify accordingly. -Robert Larry Meadors wrote: I do not think that anyone can answer that but you. It is so application specific that any answers we give would be SWAGs at best. Larry On Wed, 23 Feb 2005 14:25:32 -0800, Ross Poppel [EMAIL PROTECTED] wrote: Hi Tomcat Users - We are implementing Tomcat (with Axis) for HTML translation to a proprietary format (as a pass-thru). This is for submission to an external system (its pretty simple data) and back again. We were wondering if anyone has any ideas how you would size a box (Solaris/HP-UX based) if you want to get a specific throughput (x number of messages per second). Is there any guidelines anyone can recommend? --- Ross Poppel - [EMAIL PROTECTED] Solutions Architect, PORTAL Software Cell: (609) 744-2050 EFax: (617) 344-2585 SMS: [EMAIL PROTECTED] - 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: Throughput and scalability
if you're talking about XML transformation, the biggest factor is the parser you use and the cpu speed. If you read my old performance article on the resource page, you can see some old numbers for AMD 2ghz system. depending on how much XML you need to handle concurrently, you may want to consider XML accelerators to get near wire speed. The primary limitations for XML processing is CPU and RAM. hope that helps peter On Wed, 23 Feb 2005 14:25:32 -0800, Ross Poppel [EMAIL PROTECTED] wrote: Hi Tomcat Users - We are implementing Tomcat (with Axis) for HTML translation to a proprietary format (as a pass-thru). This is for submission to an external system (its pretty simple data) and back again. We were wondering if anyone has any ideas how you would size a box (Solaris/HP-UX based) if you want to get a specific throughput (x number of messages per second). Is there any guidelines anyone can recommend? --- Ross Poppel - [EMAIL PROTECTED] Solutions Architect, PORTAL Software Cell: (609) 744-2050 EFax: (617) 344-2585 SMS: [EMAIL PROTECTED] - 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: performance/scalability impact of many webapps in one container
For reasons beyond my control, a web application (apache/Tomcat/PostgreSQL) that I support will need to be partitioned into one context per customer (to support one database per customer). I'm wondering: Do you really need one database per customer? In a similair situation, we resolved this by adding a client code to all our database tables indexes. Each customer/client was given their own URL to access the system and a filter used the incoming url to load a client code into the request headers before passing the request to a single servlet. Regards Roger __ This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Atos Origin group liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted. __ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: performance/scalability impact of many webapps in one container
On Tue, 18 Jan 2005 13:12:06 -, Varley, Roger [EMAIL PROTECTED] wrote: For reasons beyond my control, a web application (apache/Tomcat/PostgreSQL) that I support will need to be partitioned into one context per customer (to support one database per customer). I'm wondering: Do you really need one database per customer? In a similair situation, we resolved this by adding a client code to all our database tables indexes. Each customer/client was given their own URL to access the system and a filter used the incoming url to load a client code into the request headers before passing the request to a single servlet. Obviously, it all depends on the isolation level you want. For example, you can restrict what web applications can do in a multi-user environment by using the security manager. -- 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]
performance/scalability impact of many webapps in one container
For reasons beyond my control, a web application (apache/Tomcat/PostgreSQL) that I support will need to be partitioned into one context per customer (to support one database per customer). I'm wondering: 1. What the performance implications are (if any) of having up to 300 contexts in one container? 2. Are there any scalability issues of which I should be aware? TIA, -Joel -- CONFIDENTIALITY NOTICE -- This message is intended for the sole use of the individual and entity to whom it is addressed, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not the intended addressee, nor authorized to receive for the intended addressee, you are hereby notified that you may not use, copy, disclose or distribute to anyone the message or any information contained in the message. If you have received this message in error, please immediately advise the sender by reply email, and delete the message. Thank you. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: performance/scalability impact of many webapps in one container
On Mon, Jan 17, 2005 at 03:02:28PM -0700, Joel McGraw wrote: : For reasons beyond my control, a web application : (apache/Tomcat/PostgreSQL) that I support will need to be partitioned : into one context per customer (to support one database per customer). Do you really need one context per customer, or just one datasource definition per customer? If you can share, what's the reasoning behind this? : 1. What the performance implications are (if any) of having up to 300 : contexts in one container? Depends mostly on your hardware (memory, CPU, network bandwidth per host), attitude towards fault-tolerance, etc. I've been in situations where clients needed to get just a few apps into the same container, and that created all sorts of headaches: scheduled downtime (app A and app B need to coordinate); unscheduled downtime (one rogue app impacts the entire container; one app's bad JNI call takes out the entire JVM); version skew (one group wants JDK 1.5, the other is bound to 1.3 or 1.4); and so on. You'd do yourself a favor to separate the apps into separate machines as well as separate JVMs. If a machine goes down, do you want 10 customers on the phone or 300? ;) : 2. Are there any scalability issues of which I should be aware? Same as the first part of my answer to question #1. -that, and maintenance: will the app itself be the same code, same version, just installed 300 times? -QM -- software -- http://www.brandxdev.net tech news -- http://www.RoarNetworX.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: performance/scalability impact of many webapps in one container
On Mon, 17 Jan 2005 15:02:28 -0700, Joel McGraw [EMAIL PROTECTED] wrote: For reasons beyond my control, a web application (apache/Tomcat/PostgreSQL) that I support will need to be partitioned into one context per customer (to support one database per customer). I'm wondering: 1. What the performance implications are (if any) of having up to 300 contexts in one container? With Tomcat 5.x, it's ok, it will just use more memory. With 4.x, it's bad (one background thread per context = 300 background threads). 2. Are there any scalability issues of which I should be aware? - You might have tons of sessions, so increase the VM's memory - And the usual: one application doing bad things could take the whole server down, which will be a lot more noticeable for users -- 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]
Apache 2.0 + Tomcat 5.5.4 scalability
Dear Tomcat users, I'm a new tomcat user evaluating it for FreeBSD5.2. I'm trying to ascertain how well Tomcat will scale from 1- to 2- and 4-proc BSD machines. The only problem is, no matter how I configure workers.properties and server.xml, I get about the same RPS and TTLB for all setups, despite adding workers. I'm using mod_jk (JK-connector-1.2.6) with Apache 2.0. One Tomcat installation uses 8001 as its primary port, the other 9009, and I run startup.sh and both, spawning 2 times 46 = 92 java processes. Is there something fundamental about Tomcat scalability that I'm missing, or is my definition of worker processes off? My server.xml is copied exactly from the distribution. The important parts of the other files are below. Many thanks, Dave In httpd.conf: LoadModule jk_module modules/mod_jk.so JkWorkersFile /home/tomcat/conf/workers.properties JkLogFile /home/tomcat/logs/mod_jk.log JkLogLevel info JkLogStampFormat [%a %b %d %H:%M:%S %Y] JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat %w %V %T JkMount /jsp/*.jsp router --- In workers.properties: # The advanced router LB worker worker.list=router # Define a 'local_worker' worker using ajp13 worker.worker1.port=8001 worker.worker1.host=127.0.0.1 worker.worker1.type=ajp13 worker.worker1.lbfactor=1 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 #worker.worker1.local_worker=1 # Define another 'local_worker' worker using ajp13 worker.worker2.port=9009 worker.worker2.host=127.0.0.1 worker.worker2.type=ajp13 worker.worker2.lbfactor=1 worker.worker2.socket_keepalive=1 worker.worker2.socket_timeout=300 #worker.worker2.local_worker=1 # Define the LB worker worker.router.type=lb worker.router.balanced_workers=worker1 #worker.router.local_worker_only=1 -- _ On the road to retirement? Check out MSN Life Events for advice on how to get there! http://lifeevents.msn.com/category.aspx?cid=Retirement - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
scalability
Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett
RE: scalability
Check out the app server matrix over at http://www.theserverside.com/reviews/matrix.tss http://www.theserverside.com/reviews/matrix.tss They also review of tomcat: http://www.theserverside.com/reviews/thread.tss?thread_id=18243 http://www.theserverside.com/reviews/thread.tss?thread_id=18243 Daniel J. Roehl, SCJP Programmer/Analyst Austin Energy Office: (512)322-6341 Mobile: (512)576-6810 Fax: (512)322-6025 -Original Message- From: MacManus, Brett C [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 31, 2004 10:38 AM To: [EMAIL PROTECTED] Subject: scalability Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett
RE: scalability
Hi, Check out the app server matrix over at http://www.theserverside.com/reviews/matrix.tss http://www.theserverside.com/reviews/matrix.tss Please note this matrix is woefully out of date, not just wrt tomcat but in general. I've alerted the TSS folks to this a couple of times especially since tomcat 5 stable first came out. Yoav Shapira 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: scalability
You're going to have to qualify your definition of scalability before anyone can provide useful information. scalability in terms of concurrent users? requests per second? average response time? cluster size? concurrent connections? without a point of reference, scalability means very little :) peter MacManus, Brett C [EMAIL PROTECTED] wrote: Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time.
RE: scalability
Sorry Peter You are correct. I need in terms of clustering, and concurrent connections. Thank You Brett MacManus You're going to have to qualify your definition of scalability before anyone can provide useful information. scalability in terms of concurrent users? requests per second? average response time? cluster size? concurrent connections? without a point of reference, scalability means very little :) peter MacManus, Brett C [EMAIL PROTECTED] wrote: Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: scalability
In terms of concurrent requests here's my own experience. Handing 50-150 concurrent requests using either apache AB or JMeter to simulate load doesn't pose any problems that I can see for static or simple dynamic pages. when I say dynamic pages, I mean simple queries which select from one view or simple sql join. the real bottle neck is the database. Depending on the OS you're on, the practical limit of the database in terms of concurrent queries varies quite a bit. If you're using windows and Sql Server, the practical limit for concurrent queries is 2x # of CPU. for example, say you have sql server on a 4 CPU system. the practical limit is 8 concurrent queries. Anything above 8 will get queued up. which means throwing more concurrent requests will just swamp the database. You'll have to test the database you're using to figure out the practical limit for concurrent queries. since you're already using weblogic, I'm going to guess there's an EJB somewhere providing data. If that is the case, follow the normal EJB best practices like using local interfaces to EJB's. In terms of clustering, if you're talking about session replication, I have no experience with clustering TC5. If you're talking about load balancing, there shouldn't be any performance issues. If you're planning on havng lots of servers, I would recommend using hardware load balancing. hope that helps. peter lin MacManus, Brett C [EMAIL PROTECTED] wrote: Sorry Peter You are correct. I need in terms of clustering, and concurrent connections. Thank You Brett MacManus You're going to have to qualify your definition of scalability before anyone can provide useful information. scalability in terms of concurrent users? requests per second? average response time? cluster size? concurrent connections? without a point of reference, scalability means very little :) peter MacManus, Brett C wrote: Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time.
RE: scalability
Thanks Peter... We will be interacting with Oracle, Informix, and DB2. The proposed Tomcat application servers will be used with the Business Objects and Crystal BI application. Thank You Brett MacManus -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 31, 2004 12:22 PM To: Tomcat Users List Subject: RE: scalability In terms of concurrent requests here's my own experience. Handing 50-150 concurrent requests using either apache AB or JMeter to simulate load doesn't pose any problems that I can see for static or simple dynamic pages. when I say dynamic pages, I mean simple queries which select from one view or simple sql join. the real bottle neck is the database. Depending on the OS you're on, the practical limit of the database in terms of concurrent queries varies quite a bit. If you're using windows and Sql Server, the practical limit for concurrent queries is 2x # of CPU. for example, say you have sql server on a 4 CPU system. the practical limit is 8 concurrent queries. Anything above 8 will get queued up. which means throwing more concurrent requests will just swamp the database. You'll have to test the database you're using to figure out the practical limit for concurrent queries. since you're already using weblogic, I'm going to guess there's an EJB somewhere providing data. If that is the case, follow the normal EJB best practices like using local interfaces to EJB's. In terms of clustering, if you're talking about session replication, I have no experience with clustering TC5. If you're talking about load balancing, there shouldn't be any performance issues. If you're planning on havng lots of servers, I would recommend using hardware load balancing. hope that helps. peter lin MacManus, Brett C [EMAIL PROTECTED] wrote: Sorry Peter You are correct. I need in terms of clustering, and concurrent connections. Thank You Brett MacManus You're going to have to qualify your definition of scalability before anyone can provide useful information. scalability in terms of concurrent users? requests per second? average response time? cluster size? concurrent connections? without a point of reference, scalability means very little :) peter MacManus, Brett C wrote: Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: scalability
I think I'm getting a better picture. You're exploring the option of having weblogic handle just the business objects and Crystal BI stuff. Tomcat then serves up view of the data produced by weblogic and the database. Having worked on a platform with a setup similar to that for wireless applications, the tricky part is tuning your application server (read EJB container) performance. I'm assuming you've already done that since it sounds like a production setup. In general, most of the time Tomcat will be waiting for data. As long as Tomcat gets the data As Fast As Possible, it shouldn't be the bottleneck. In that type of configuration, it's desirable to have a dedicated ethernet port that connects to a dedicated router to the App Server(if you don't already have it setup that way). Realistic numbers on 3 tiered setups are hard to find, but you should be able to find some synthetic numbers. good luck. peter lin MacManus, Brett C [EMAIL PROTECTED] wrote: Thanks Peter... We will be interacting with Oracle, Informix, and DB2. The proposed Tomcat application servers will be used with the Business Objects and Crystal BI application. Thank You Brett MacManus -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 31, 2004 12:22 PM To: Tomcat Users List Subject: RE: scalability In terms of concurrent requests here's my own experience. Handing 50-150 concurrent requests using either apache AB or JMeter to simulate load doesn't pose any problems that I can see for static or simple dynamic pages. when I say dynamic pages, I mean simple queries which select from one view or simple sql join. the real bottle neck is the database. Depending on the OS you're on, the practical limit of the database in terms of concurrent queries varies quite a bit. If you're using windows and Sql Server, the practical limit for concurrent queries is 2x # of CPU. for example, say you have sql server on a 4 CPU system. the practical limit is 8 concurrent queries. Anything above 8 will get queued up. which means throwing more concurrent requests will just swamp the database. You'll have to test the database you're using to figure out the practical limit for concurrent queries. since you're already using weblogic, I'm going to guess there's an EJB somewhere providing data. If that is the case, follow the normal EJB best practices like using local interfaces to EJB's. In terms of clustering, if you're talking about session replication, I have no experience with clustering TC5. If you're talking about load balancing, there shouldn't be any performance issues. If you're planning on havng lots of servers, I would recommend using hardware load balancing. hope that helps. peter lin MacManus, Brett C wrote: Sorry Peter You are correct. I need in terms of clustering, and concurrent connections. Thank You Brett MacManus You're going to have to qualify your definition of scalability before anyone can provide useful information. scalability in terms of concurrent users? requests per second? average response time? cluster size? concurrent connections? without a point of reference, scalability means very little :) peter MacManus, Brett C wrote: Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time.
RE: scalability
Thanks again for the info. We are hoping to take weblogic out of the picture all together and go with an Apache http server and Tomcat app server. Currently we have our BI infrastructure on AIX and we are pushing for our next release to deploy on Linux. Therefore we were trying to ditch Weblogic as well and go with open source. We are just trying to get our ducks in a row so that we can answer all questions intelligently as to why we want to go away from the current set up and what the possible pit falls are going to be. We know that we are not going to have any issues with the Apache HTTP server, but I am unfamiliar with Tomcat and decided to go on this fact finding mission. Thanks in advance for all of your help Thank You Brett MacManus -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 31, 2004 12:34 PM To: Tomcat Users List Subject: RE: scalability I think I'm getting a better picture. You're exploring the option of having weblogic handle just the business objects and Crystal BI stuff. Tomcat then serves up view of the data produced by weblogic and the database. Having worked on a platform with a setup similar to that for wireless applications, the tricky part is tuning your application server (read EJB container) performance. I'm assuming you've already done that since it sounds like a production setup. In general, most of the time Tomcat will be waiting for data. As long as Tomcat gets the data As Fast As Possible, it shouldn't be the bottleneck. In that type of configuration, it's desirable to have a dedicated ethernet port that connects to a dedicated router to the App Server(if you don't already have it setup that way). Realistic numbers on 3 tiered setups are hard to find, but you should be able to find some synthetic numbers. good luck. peter lin MacManus, Brett C [EMAIL PROTECTED] wrote: Thanks Peter... We will be interacting with Oracle, Informix, and DB2. The proposed Tomcat application servers will be used with the Business Objects and Crystal BI application. Thank You Brett MacManus -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 31, 2004 12:22 PM To: Tomcat Users List Subject: RE: scalability In terms of concurrent requests here's my own experience. Handing 50-150 concurrent requests using either apache AB or JMeter to simulate load doesn't pose any problems that I can see for static or simple dynamic pages. when I say dynamic pages, I mean simple queries which select from one view or simple sql join. the real bottle neck is the database. Depending on the OS you're on, the practical limit of the database in terms of concurrent queries varies quite a bit. If you're using windows and Sql Server, the practical limit for concurrent queries is 2x # of CPU. for example, say you have sql server on a 4 CPU system. the practical limit is 8 concurrent queries. Anything above 8 will get queued up. which means throwing more concurrent requests will just swamp the database. You'll have to test the database you're using to figure out the practical limit for concurrent queries. since you're already using weblogic, I'm going to guess there's an EJB somewhere providing data. If that is the case, follow the normal EJB best practices like using local interfaces to EJB's. In terms of clustering, if you're talking about session replication, I have no experience with clustering TC5. If you're talking about load balancing, there shouldn't be any performance issues. If you're planning on havng lots of servers, I would recommend using hardware load balancing. hope that helps. peter lin MacManus, Brett C wrote: Sorry Peter You are correct. I need in terms of clustering, and concurrent connections. Thank You Brett MacManus You're going to have to qualify your definition of scalability before anyone can provide useful information. scalability in terms of concurrent users? requests per second? average response time? cluster size? concurrent connections? without a point of reference, scalability means very little :) peter MacManus, Brett C wrote: Hello, I am needing information on the scalability of Tomcat. We are currently using Web Logic, but are considering Tomcat and our only concern in scalability. Can anyone help me out with this as I am unable to track down any specifics. Thank You Brett - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you Yahoo!? Yahoo! Finance Tax Center - File online. File on time. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Do you
RE: scalability
Return Receipt Your RE: scalability document : was Tom Williams/HQ/dssi received by: at: 03/31/2004 01:51:02 PM - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: scalability
Return Receipt Your RE: scalability document : was Swen Schillig/Germany/IBM received by: at: 01/04/2004 08:24:42 ZE2 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat Scalability
Thanks to everyone who responded to my questions. I appreciate your time. I was really trying to get a sense of what different levers we have in Tomcat to tweak performance as I am going through a performance/stress test process (which is what I am going through now). The comments about ensuring that the way the application works and its design is scalable and efficient are well taken. Thanks again, Haytham Samad -Original Message- From: Chakravarthy, Sundar [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2003 10:48 AM To: Tomcat Users List Subject: RE: Tomcat Scalability The guideline I use is... Prioritize Use-Cases based on R/W, Frequency Try to optimize the the most frequent Use-Cases Test/Profile you app; often this leads to the following, Optimize database queries since I often find this to be the bottleneck. - Cache objects if you can in memory to avoid DB Queries - Add proper indexes to queries - Do more work within the database if you can - Batch TXNs Use less Java objects,right collection types, algorithms. I wonder how much of a performance boost tweaking Tomcat will achieve. I rather not spend time trying to boost Tomcat, unless I absolutely have to. -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2003 9:28 AM To: Tomcat Users List Subject: Re: Tomcat Scalability one more note. Persistence is the only effective tool for high performance! No amount of money or talent can beat persistence when it comes to making sure your website works reliably and responds within a set time. peter --- Tim Funk [EMAIL PROTECTED] wrote: Scability/Perfomance/Memory was talked about many times in the past. I am still digging up good threads/sites with respect to the FAQ, but here is what I have so far, each page has links to the appropriate discussion thread in the tomcat-user lists. Performace: http://tomcatfaq.sourceforge.net/performance.html Memory: http://tomcatfaq.sourceforge.net/memory.html Monitoring: http://tomcatfaq.sourceforge.net/monitoring.html -Tim Jon Roberts wrote: But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - 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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat Scalability
On Mon, Mar 03, 2003 at 11:32:07PM -0600, Haytham Samad wrote: I have searched in the mail archive and did not find a comprehansive answer to the settings one needs to look for to make sure Tomcat scales with an increasing number of users. You'll probably get more milage out of performance-tuning your app than out of tweaking tomcat. I do remember one comment that indicated that using it with Apache can result in significant performance gains. Obviously, the more static files you're serving, the more payoff you'll get from adding Apache for serving them. But running Tomcat side-by-side with apache is a well-explored problem domain, so it shouldn't be that much hassle. You might want to check the conversations on theserverside.com, jguru, and similar sites. Having said all of the above, if you do start playing with performance enhancements (for your app or anything else), make sure you do it right; get some good books on performance/optimizing, read up on it. The key points are: 1) Don't. (Until you know you have a performance problem; get it running, get it running right, THEN worry about getting it running fast). Early optimization is the root of much evil (to quote Donald Knuth). 2) Measure performance - you must start measuring before you do ANYTHING else, or you're just going to spin your wheels doing stupid stuff. If any optimization does not significantly improve measurable performance, back it out (don't clutter your object model or your code with irrelevant kludges). 3) Profile - once you've started measuring overall performance, measure detailed performance to figure out where you can improve things. Don't follow the profiling blindly, though; algorithmic optimization is usually a much better bet than spot optimization. 4) OPB is usually the best optimization strategy (Other Peoples' Brains). Sometimes this involves using a better JVM (I've heard claims for specialty JVMs being up to 30 times as fast) or using commercial optimizers like JProbe, OptimizeIt, etc, or the Sun hotspot optimizing JVM, or better implementations (database drivers are a particularly ripe area for this). 5) Think. Step back and use your judgement every now and then. A couple of anecdotes I've heard: One, the guy spent a day or two optimizing a sort - and then realized that the data set that would be sorted would NEVER be more than a hundred or so elements. Another, they did it all right - measured, profiled, figured out where the hotspot was (where the application was spending 90% of its time) spent a good solid chunk of time optimizing it. Then they realized they were optimizing the wait loop. Steven J. Owens [EMAIL PROTECTED] I'm going to make broad, sweeping generalizations and strong, declarative statements, because otherwise I'll be here all night and this document will be four times longer and much less fun to read. Take it all with a grain of salt. - Me at http://darksleep.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat Scalability
Haytham Samad wrote: Anything on can do to set Tomcat up to scale? I am running Tomcat as a service on Win 2K. You could start by running it on Linux instead to save all that memory and processor power that Windows consumes :) But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat Scalability
it's going to be hard to summarize tuning in a paragraph or even a few pages. If there aren't any existing weblogs to tell you the amount of traffic it will get, you're only good solution is to implement logging and monitoring. then everyday look at how the site is performing, graph the results for each day, week, and month. look at usage patterns and then modify the number of processors or heap settings appropriately. peter --- Haytham Samad [EMAIL PROTECTED] wrote: I have searched in the mail archive and did not find a comprehansive answer to the settings one needs to look for to make sure Tomcat scales with an increasing number of users. I have read about the tweaks that can be made to the JVM to make the GC work more efficiently and allocating enough memory for the JVM. Anything on can do to set Tomcat up to scale? If someone can provide a comprehensive list on this here, that would be great. I am currently working on stress testing an application I have deployed on Tomcat and did some tweaks to the JVM and to Tomcat but could not find a good reference to tell me if what I am doing is right or wrong. Settings for min/max Processors and Accept count? I am running Tomcat as a service on Win 2K. Any performance considerations or work I can do to it when running as a service? Thanks for taking the time, Haytham - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat Scalability
There are a lot of companies using Tomcat in production and some of them are large sites that get 1 million+ page views a day. Just because there are a lot of calls, it doesn't necessarily mean it's a problem. scaling a website to handle millions of hits a day takes time and thorough testing. If you don't test your webapp under varying loads and settings, you're not going to know how it will scale. hopefully when the book comes out, it will answer most of these questions. peter --- Jon Roberts [EMAIL PROTECTED] wrote: Haytham Samad wrote: Anything on can do to set Tomcat up to scale? I am running Tomcat as a service on Win 2K. You could start by running it on Linux instead to save all that memory and processor power that Windows consumes :) But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat Scalability
Scability/Perfomance/Memory was talked about many times in the past. I am still digging up good threads/sites with respect to the FAQ, but here is what I have so far, each page has links to the appropriate discussion thread in the tomcat-user lists. Performace: http://tomcatfaq.sourceforge.net/performance.html Memory: http://tomcatfaq.sourceforge.net/memory.html Monitoring: http://tomcatfaq.sourceforge.net/monitoring.html -Tim Jon Roberts wrote: But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat Scalability
Hi, I would really like to back up Peter's point that you can't just pick up a book or web site with magic settings. At best, you will find general guidelines that may or may not work for your system. The importance of establishing performance requirement and constantly testing to ensure the requirements are meant cannot be overstated. Document your requirement, your stress tests, and the results of every test run you do. Document what parameters you change between runs, and the effect of the change. If you want to do this right, it's a long, laborious process that can be very application-specific. If you'd like, at the end you can publish a paper or a web site with your findings, and I'm sure it'll get a lot of traffic ;) Yoav Shapira Millennium ChemInformatics -Original Message- From: Tim Funk [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2003 8:15 AM To: Tomcat Users List Subject: Re: Tomcat Scalability Scability/Perfomance/Memory was talked about many times in the past. I am still digging up good threads/sites with respect to the FAQ, but here is what I have so far, each page has links to the appropriate discussion thread in the tomcat-user lists. Performace: http://tomcatfaq.sourceforge.net/performance.html Memory: http://tomcatfaq.sourceforge.net/memory.html Monitoring: http://tomcatfaq.sourceforge.net/monitoring.html -Tim Jon Roberts wrote: But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] 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 Scalability
one more note. Persistence is the only effective tool for high performance! No amount of money or talent can beat persistence when it comes to making sure your website works reliably and responds within a set time. peter --- Tim Funk [EMAIL PROTECTED] wrote: Scability/Perfomance/Memory was talked about many times in the past. I am still digging up good threads/sites with respect to the FAQ, but here is what I have so far, each page has links to the appropriate discussion thread in the tomcat-user lists. Performace: http://tomcatfaq.sourceforge.net/performance.html Memory: http://tomcatfaq.sourceforge.net/memory.html Monitoring: http://tomcatfaq.sourceforge.net/monitoring.html -Tim Jon Roberts wrote: But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat Scalability
The guideline I use is... Prioritize Use-Cases based on R/W, Frequency Try to optimize the the most frequent Use-Cases Test/Profile you app; often this leads to the following, Optimize database queries since I often find this to be the bottleneck. - Cache objects if you can in memory to avoid DB Queries - Add proper indexes to queries - Do more work within the database if you can - Batch TXNs Use less Java objects,right collection types, algorithms. I wonder how much of a performance boost tweaking Tomcat will achieve. I rather not spend time trying to boost Tomcat, unless I absolutely have to. -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 04, 2003 9:28 AM To: Tomcat Users List Subject: Re: Tomcat Scalability one more note. Persistence is the only effective tool for high performance! No amount of money or talent can beat persistence when it comes to making sure your website works reliably and responds within a set time. peter --- Tim Funk [EMAIL PROTECTED] wrote: Scability/Perfomance/Memory was talked about many times in the past. I am still digging up good threads/sites with respect to the FAQ, but here is what I have so far, each page has links to the appropriate discussion thread in the tomcat-user lists. Performace: http://tomcatfaq.sourceforge.net/performance.html Memory: http://tomcatfaq.sourceforge.net/memory.html Monitoring: http://tomcatfaq.sourceforge.net/monitoring.html -Tim Jon Roberts wrote: But seriously, I'm interested in hearing how Tomcat can scale, too. It seems like there is an awful lot loaded into memory when it's launched, and all my stack traces produce an impressively long chain of method calls: can this be mitigated? Jon Roberts www.mentata.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - 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]
Tomcat Scalability
I have searched in the mail archive and did not find a comprehansive answer to the settings one needs to look for to make sure Tomcat scales with an increasing number of users. I have read about the tweaks that can be made to the JVM to make the GC work more efficiently and allocating enough memory for the JVM. Anything on can do to set Tomcat up to scale? If someone can provide a comprehensive list on this here, that would be great. I am currently working on stress testing an application I have deployed on Tomcat and did some tweaks to the JVM and to Tomcat but could not find a good reference to tell me if what I am doing is right or wrong. Settings for min/max Processors and Accept count? I am running Tomcat as a service on Win 2K. Any performance considerations or work I can do to it when running as a service? Thanks for taking the time, Haytham - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 4.1.18 - Scalability Issue ?
Hi, Thanks for replying. Yes that is correct. Throws java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase as mentioned below after Jmeter threads increase to above 10. I notice my acceptCount is 10 , should I bump this value ? What is the difference between acceptCount and maxPrcessors ? I expect upto but not beyond 50 max concurrent users. Listing of AJP in tomcat/conf/server.xml Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler / This is a listing of my workers.properties file. #Define 1 real worker using ajp13 worker.list=worker1 # Set propeties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=50 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 Thanks -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:08 AM To: Tomcat Users List Subject: RE: Tomcat 4.1.18 - Scalability Issue ? Howdy, It works OK normally, and then during stress test throws a NoClassDefFound error How do you have your connector configured? Specifically, min/maxProcessors and acceptCount? Yoav Shapira Millennium ChemInformatics -Original Message- From: Chakravarthy, Sundar [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:02 AM To: Tomcat Users List Subject: Tomcat 4.1.18 - Scalability Issue ? Hi , I have a single instance of Tomcat in the following environment, Apache 2.x - Mod_jk2 - Tomcat 4.1.18 - - - Solaris 5.8 - 2 GB RAM , Xms512m, Xmx512m However, when I try to stress-test Tomcat with 10 or more Threads using Jmeter, I get the following exception quite consistently. Is is a bug ? Thanks Sundar 2003-02-25 11:34:03 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception javax.servlet.ServletException: org/apache/jasper/runtime/HttpJspBase at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic a tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil t erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal v e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal v e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:24 1 5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav a :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV a lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav a :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve . java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java
RE: Tomcat 4.1.18 - Scalability Issue ?
the acceptCount is the number of connections to accept before rejecting new connections. It is only useful if you don't want to reject connections and want them to get processed eventually. Max processors is the number of Coyote processors Tomcat will create. If you're max concurrent will be 50, you may want to increase the min processors to match the expected average load or the max concurrent. One way to calculate the min or accept count is to perform a series of benchmarks incrementing by 1 with default tomcat settings. Plot the results based on response time vs concurrent requests. Then rerun the same test, but this time increase the accept count to see if under max load it improves the response time or error rate. Rerun the same exact test and only modify either min or accept count. What I tend to do is start with min first and then do accept count. Repeat the process as many times as necessary. Once you're done and it's all graphed in a chart, you can see if one particular set of min/accept values results in better scalability. hope that helps. peter --- Chakravarthy, Sundar [EMAIL PROTECTED] wrote: Hi, Thanks for replying. Yes that is correct. Throws java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase as mentioned below after Jmeter threads increase to above 10. I notice my acceptCount is 10 , should I bump this value ? What is the difference between acceptCount and maxPrcessors ? I expect upto but not beyond 50 max concurrent users. Listing of AJP in tomcat/conf/server.xml Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler / This is a listing of my workers.properties file. #Define 1 real worker using ajp13 worker.list=worker1 # Set propeties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=50 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 Thanks -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:08 AM To: Tomcat Users List Subject: RE: Tomcat 4.1.18 - Scalability Issue ? Howdy, It works OK normally, and then during stress test throws a NoClassDefFound error How do you have your connector configured? Specifically, min/maxProcessors and acceptCount? Yoav Shapira Millennium ChemInformatics __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 4.1.18 - Scalability Issue ?
Thanks Peter. When you say Coyote processors you mean threads ? Right ? I may have a few more questions after I conduct the test with Jmeter. Don't change your channel! -Original Message- From: Peter Lin [mailto:[EMAIL PROTECTED] Sent: Friday, February 28, 2003 10:55 AM To: Tomcat Users List Subject: RE: Tomcat 4.1.18 - Scalability Issue ? the acceptCount is the number of connections to accept before rejecting new connections. It is only useful if you don't want to reject connections and want them to get processed eventually. Max processors is the number of Coyote processors Tomcat will create. If you're max concurrent will be 50, you may want to increase the min processors to match the expected average load or the max concurrent. One way to calculate the min or accept count is to perform a series of benchmarks incrementing by 1 with default tomcat settings. Plot the results based on response time vs concurrent requests. Then rerun the same test, but this time increase the accept count to see if under max load it improves the response time or error rate. Rerun the same exact test and only modify either min or accept count. What I tend to do is start with min first and then do accept count. Repeat the process as many times as necessary. Once you're done and it's all graphed in a chart, you can see if one particular set of min/accept values results in better scalability. hope that helps. peter --- Chakravarthy, Sundar [EMAIL PROTECTED] wrote: Hi, Thanks for replying. Yes that is correct. Throws java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase as mentioned below after Jmeter threads increase to above 10. I notice my acceptCount is 10 , should I bump this value ? What is the difference between acceptCount and maxPrcessors ? I expect upto but not beyond 50 max concurrent users. Listing of AJP in tomcat/conf/server.xml Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler / This is a listing of my workers.properties file. #Define 1 real worker using ajp13 worker.list=worker1 # Set propeties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=50 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 Thanks -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:08 AM To: Tomcat Users List Subject: RE: Tomcat 4.1.18 - Scalability Issue ? Howdy, It works OK normally, and then during stress test throws a NoClassDefFound error How do you have your connector configured? Specifically, min/maxProcessors and acceptCount? Yoav Shapira Millennium ChemInformatics __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - 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 4.1.18 - Scalability Issue ?
If all processors are busy, the acceptcount defines the length of the queue for requests that are waiting for the next free processor. -Original Message- From: Chakravarthy, Sundar [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 6:16 PM To: Tomcat Users List Subject: RE: Tomcat 4.1.18 - Scalability Issue ? What is the difference between acceptCount and maxPrcessors ? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Tomcat 4.1.18 - Scalability Issue ?
Coyote is referring to CoyoteConnector. Remy and I discuss these topics in the book with examples, so hopefully when it comes out, it will help. peter --- Chakravarthy, Sundar [EMAIL PROTECTED] wrote: Thanks Peter. When you say Coyote processors you mean threads ? Right ? I may have a few more questions after I conduct the test with Jmeter. Don't change your channel! Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler / __ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 4.1.18 - Scalability Issue ?
Hi , I have a single instance of Tomcat in the following environment, Apache 2.x - Mod_jk2 - Tomcat 4.1.18 - - - Solaris 5.8 - 2 GB RAM , Xms512m, Xmx512m However, when I try to stress-test Tomcat with 10 or more Threads using Jmeter, I get the following exception quite consistently. Is is a bug ? Thanks Sundar 2003-02-25 11:34:03 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception javax.servlet.ServletException: org/apache/jasper/runtime/HttpJspBase at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:241 5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:632) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java: 590) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:707) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:530) at java.lang.Thread.run(Thread.java:536) - Root Cause - java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.lang.ClassLoader.defineClass(ClassLoader.java:431) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:215) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131) at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java: 504) at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper .java:145) at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:411) at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:361) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.ja va:472) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja va:184) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt erChain.java:193) at
RE: Tomcat 4.1.18 - Scalability Issue ?
Howdy, It works OK normally, and then during stress test throws a NoClassDefFound error How do you have your connector configured? Specifically, min/maxProcessors and acceptCount? Yoav Shapira Millennium ChemInformatics -Original Message- From: Chakravarthy, Sundar [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:02 AM To: Tomcat Users List Subject: Tomcat 4.1.18 - Scalability Issue ? Hi , I have a single instance of Tomcat in the following environment, Apache 2.x - Mod_jk2 - Tomcat 4.1.18 - - - Solaris 5.8 - 2 GB RAM , Xms512m, Xmx512m However, when I try to stress-test Tomcat with 10 or more Threads using Jmeter, I get the following exception quite consistently. Is is a bug ? Thanks Sundar 2003-02-25 11:34:03 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception javax.servlet.ServletException: org/apache/jasper/runtime/HttpJspBase at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic a tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil t erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal v e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal v e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:24 1 5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav a :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV a lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav a :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve . java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:632) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java : 590) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:707) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo l .java:530) at java.lang.Thread.run(Thread.java:536) - Root Cause - java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:502) at java.lang.ClassLoader.defineClass(ClassLoader.java:431) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:215) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131) at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java : 504) at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrappe r .java:145) at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:411) at org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:361) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.j a va:472) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j a va:184
RE: Tomcat 4.1.18 - Scalability Issue ?
Hi, Thanks for replying. Yes that is correct. Throws java.lang.NoClassDefFoundError: org/apache/jasper/runtime/HttpJspBase as mentioned below after Jmeter threads increase to above 10. I notice my acceptCount is 10 , should I bump this value ? What is the difference between acceptCount and maxPrcessors ? I expect upto but not beyond 50 max concurrent users. Listing of AJP in tomcat/conf/server.xml Connector className=org.apache.coyote.tomcat4.CoyoteConnector port=8009 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=0 useURIValidationHack=false protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler / This is a listing of my workers.properties file. #Define 1 real worker using ajp13 worker.list=worker1 # Set propeties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=50 worker.worker1.cachesize=50 worker.worker1.cache_timeout=600 worker.worker1.socket_keepalive=1 worker.worker1.socket_timeout=300 Thanks -Original Message- From: Shapira, Yoav [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:08 AM To: Tomcat Users List Subject: RE: Tomcat 4.1.18 - Scalability Issue ? Howdy, It works OK normally, and then during stress test throws a NoClassDefFound error How do you have your connector configured? Specifically, min/maxProcessors and acceptCount? Yoav Shapira Millennium ChemInformatics -Original Message- From: Chakravarthy, Sundar [mailto:[EMAIL PROTECTED] Sent: Wednesday, February 26, 2003 9:02 AM To: Tomcat Users List Subject: Tomcat 4.1.18 - Scalability Issue ? Hi , I have a single instance of Tomcat in the following environment, Apache 2.x - Mod_jk2 - Tomcat 4.1.18 - - - Solaris 5.8 - 2 GB RAM , Xms512m, Xmx512m However, when I try to stress-test Tomcat with 10 or more Threads using Jmeter, I get the following exception quite consistently. Is is a bug ? Thanks Sundar 2003-02-25 11:34:03 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception javax.servlet.ServletException: org/apache/jasper/runtime/HttpJspBase at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic a tionFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil t erChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal v e.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal v e.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:24 1 5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav a :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV a lve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav a :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve . java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. i nvokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 4 80) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:261) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java
Does the number of vhosts limit tomcat 4.1.12 scalability
Does Tomcat 4.1.12 need more file handlers or available threads when starting than tomcat 3.2.4? When upgrading from tomcat 3.2.4 to tomcat 4.1.12, I get a java.lang.OutOfMemoryError: unable to create new native thread exception when trying to start. The configuration is the exact same as with tomcat 3.2.4. There are about 160 hosts with the context and two others for each host. With tomcat 3.2.4, it seemed that it needed about one thread for each host and context, but Craig said this is not the case. So...do I need to have more available file handlers for each host and context I have configured within server.xml for tomcat 4.1.12? Thanks! Brandon -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: Tomcat Scalability - Long
I have the following in production: Tomcat 4.1, JDK 1.3.1, and MySQL on a Dual CPU Sun 250 app server and Apache using mod_jk 1.2 on a separate server. We are now getting 4 weeks continuous uptime. I stop and restart Tomcat once each month because the minimum memory the java heap uses over time increases. This is on a site handling 30k Tomcat requests per day. With peak loads of 5k-6k Tomcat requests per hour. When scaling Tomcat there are many issues to address when tuning performance. I would suggest learning more about how the JVM does garbage collection and test different Java startup args related to jvm stack size, etc. Try starting Tomcat with the java arg -verbose:gc, this will collect GC data which can help you when tuning the JVM memory usage. You might also want to profile your applicaiton using OptimizeIt or JProbe to see if it is the source of the problem. And of course the performance tuning should be done on test servers which are as close as possible to your production environment and with a load that simulates your site usage. Consider upgrading to Tomcat 4.1. Especially if your site uses JSP. Jasper 2 which comes with Tocmat 4.1 significantly improves performance of JSP. One final note, I would not set reloadable=true on a production system. That adds alot of overhead. The reloadable option is really there only to make development easier. Regards, Glenn Brandon Cruz wrote: Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 ---About our Application--- Our Application is a content management tool that reads and writes to the MySQL Database and reads and writes files. All the pages within this application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. ---What we are seeing--- Tomcat needs to be restarted every few days. If we don't restart it, it seems tomcat eventually locks up and does not respond at all. No errors or anything are reported, it just will not respond. Apache continues to work during this time and all static HTML pages are accessible. CPU - The processor usage seems to slowly increase as time goes on. After about one day, it seems one java process uses 30% of available CPU or more, depending on whether users are performing operations or not. When nobody is doing anything, the processer still seems to be sitting around 30% until tomcat is restarted. This seems to cap after three to five days and not increase too much more. RAM - This slowly increases and never stops increasing. We do not have any special parameters set for the VM when it starts, but this does not seem to matter. The RAM gets up to about 135 MB after four or five days, but would continue to grow if tomcat were not allowed. Can anyone explain this behavior, talk about the scalability of Tomcat, or provide any similar working solutions that perform better than this? Is it normal, should we just throw more hardware at it? Are there configuration parameters that can be used to increase performance, such as set reloadable=false in all contexts? Would we get better performance if we upgraded to 4.x, or would that just be more work for little improvement? -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
Re: Tomcat Scalability - Long
I would say Tomcat 4.1.x probably would be good for you mainly if you uses lots of Taglibs, if they actually will work on it. Btw, I'm still using 4.0.x... how everybody is doing with 4.1.x? I heard is too much buggy for production right now. On Fri, 2002-10-25 at 12:20, Glenn Nielsen wrote: I have the following in production: Tomcat 4.1, JDK 1.3.1, and MySQL on a Dual CPU Sun 250 app server and Apache using mod_jk 1.2 on a separate server. We are now getting 4 weeks continuous uptime. I stop and restart Tomcat once each month because the minimum memory the java heap uses over time increases. This is on a site handling 30k Tomcat requests per day. With peak loads of 5k-6k Tomcat requests per hour. When scaling Tomcat there are many issues to address when tuning performance. I would suggest learning more about how the JVM does garbage collection and test different Java startup args related to jvm stack size, etc. Try starting Tomcat with the java arg -verbose:gc, this will collect GC data which can help you when tuning the JVM memory usage. You might also want to profile your applicaiton using OptimizeIt or JProbe to see if it is the source of the problem. And of course the performance tuning should be done on test servers which are as close as possible to your production environment and with a load that simulates your site usage. Consider upgrading to Tomcat 4.1. Especially if your site uses JSP. Jasper 2 which comes with Tocmat 4.1 significantly improves performance of JSP. One final note, I would not set reloadable=true on a production system. That adds alot of overhead. The reloadable option is really there only to make development easier. Regards, Glenn Brandon Cruz wrote: Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 ---About our Application--- Our Application is a content management tool that reads and writes to the MySQL Database and reads and writes files. All the pages within this application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. ---What we are seeing--- Tomcat needs to be restarted every few days. If we don't restart it, it seems tomcat eventually locks up and does not respond at all. No errors or anything are reported, it just will not respond. Apache continues to work during this time and all static HTML pages are accessible. CPU - The processor usage seems to slowly increase as time goes on. After about one day, it seems one java process uses 30% of available CPU or more, depending on whether users are performing operations or not. When nobody is doing anything, the processer still seems to be sitting around 30% until tomcat is restarted. This seems to cap after three to five days and not increase too much more. RAM - This slowly increases and never stops increasing. We do not have any special parameters set for the VM when it starts, but this does not seem to matter. The RAM gets up to about 135 MB after four or five days, but would continue to grow if tomcat were not allowed. Can anyone explain this behavior, talk about the scalability of Tomcat, or provide any similar working solutions that perform better than this? Is it normal, should we just throw more hardware at it? Are there configuration parameters that can be used to increase performance, such as set reloadable=false in all contexts? Would we get better performance if we upgraded to 4.x, or would that just be more work for little improvement? -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- Felipe Schnack Analista de Sistemas [EMAIL PROTECTED] Cel.: (51)91287530 Linux Counter #281893 Faculdade Ritter dos Reis www.ritterdosreis.br [EMAIL PROTECTED] Fone/Fax.: (51)32303328 -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
4.1.x In Production [Was: Re: Tomcat Scalability - Long]
Hi, I would say Tomcat 4.1.x probably would be good for you mainly if you uses lots of Taglibs, if they actually will work on it. Btw, I'm still using 4.0.x... how everybody is doing with 4.1.x? I heard is too much buggy for production right now. We're using 4.1.10-LE and 4.1.12-LE in production. It's been good and stable, except for one bug, but it's an annoying one: something in our HTTP headers trips the 32K buffer size limit, and so we get an ArrayIndexOutOfBounds exception from one of the internal Coyote classes sometimes. The good news is that if you look closely at the test milestone from yesterday, 4.1.13, there's an item addressing the above ;) Buffer size increased to 48K. I downloaded and setup a couple of 4.1.13 test servers yesterday and I'm having our QA team run some tests against them to attempt to duplicate the exception above. So far, so good, no exception. I'd be interested to hear if other people have seen the above exception when using 4.1.x. Yoav Shapira Millennium ChemInformatics 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: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
Re: Tomcat Scalability - Long
I'm using Tomcat 4.1.12 on a production site with more than 150 clients and it looks like to me is better that 4.0.x. On 25 Oct 2002 11:42:14 -0200, Felipe Schnack [EMAIL PROTECTED] escreveu : De: Felipe Schnack [EMAIL PROTECTED] Data: 25 Oct 2002 11:42:14 -0200 Para: Tomcat Users List [EMAIL PROTECTED] Assunto: Re: Tomcat Scalability - Long I would say Tomcat 4.1.x probably would be good for you mainly if you uses lots of Taglibs, if they actually will work on it. Btw, I'm still using 4.0.x... how everybody is doing with 4.1.x? I heard is too much buggy for production right now. On Fri, 2002-10-25 at 12:20, Glenn Nielsen wrote: I have the following in production: Tomcat 4.1, JDK 1.3.1, and MySQL on a Dual CPU Sun 250 app server and Apache using mod_jk 1.2 on a separate server. We are now getting 4 weeks continuous uptime. I stop and restart Tomcat once each month because the minimum memory the java heap uses over time increases. This is on a site handling 30k Tomcat requests per day. With peak loads of 5k-6k Tomcat requests per hour. When scaling Tomcat there are many issues to address when tuning performance. I would suggest learning more about how the JVM does garbage collection and test different Java startup args related to jvm stack size, etc. Try starting Tomcat with the java arg -verbose:gc, this will collect GC data which can help you when tuning the JVM memory usage. You might also want to profile your applicaiton using OptimizeIt or JProbe to see if it is the source of the problem. And of course the performance tuning should be done on test servers which are as close as possible to your production environment and with a load that simulates your site usage. Consider upgrading to Tomcat 4.1. Especially if your site uses JSP. Jasper 2 which comes with Tocmat 4.1 significantly improves performance of JSP. One final note, I would not set reloadable=true on a production system. That adds alot of overhead. The reloadable option is really there only to make development easier. Regards, Glenn Brandon Cruz wrote: Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 ---About our Application--- Our Application is a content management tool that reads and writes to the MySQL Database and reads and writes files. All the pages within this application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. ---What we are seeing--- Tomcat needs to be restarted every few days. If we don't restart it, it seems tomcat eventually locks up and does not respond at all. No errors or anything are reported, it just will not respond. Apache continues to work during this time and all static HTML pages are accessible. CPU - The processor usage seems to slowly increase as time goes on. After about one day, it seems one java process uses 30% of available CPU or more, depending on whether users are performing operations or not. When nobody is doing anything, the processer still seems to be sitting around 30% until tomcat is restarted. This seems to cap after three to five days and not increase too much more. RAM - This slowly increases and never stops increasing. We do not have any special parameters set for the VM when it starts, but this does not seem to matter. The RAM gets up to about 135 MB after four or five days, but would continue to grow if tomcat were not allowed. Can anyone explain this behavior, talk about the scalability of Tomcat, or provide any similar working solutions that perform better than this? Is it normal, should we just throw more hardware at it? Are there configuration parameters that can be used to increase performance, such as set reloadable=false in all contexts? Would we get better performance if we upgraded to 4.x, or would that just be more work for little improvement? -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- Felipe Schnack Analista de Sistemas
RE: Tomcat Scalability - Long
Hi, Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper What are you looking for by solid information? ;) Here are some details about one of our environments: An 18-CPU Sun Ultra Enterprise-class server, 4GB RAM on the machine. About 20 tomcat instances, all 4.x. Various JVM sizes from very small to 1GB. Various amounts of concurrent users, but the biggest JVM does support hundreds of concurrent users. Pretty much vanilla tomcat configuration, except increased (100) number of min and max processors. We hardly ever have to restart due to emergencies. We restart monthly just out of habit and because no app, no server is perfect, and we want to be safe. Does that answer your question? I'd be surprised if it did, because our apps are likely to be very different, and thus present different stress characteristics to the server and the underlying JVM. Do you have load tests in place that simulate user action over a few days? Tests that you can run in a test environment that's a copy of production? Tomcat 3.2.4 - contexts *are* reloadable right now I would update tomcat to the latest stable release. There have been many performance improvements and bug fixes. Stability and scalability should both be improved, all else being equal. application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. There are not huge numbers. Tomcat needs to be restarted every few days. If we don't restart it, it seems tomcat eventually locks up and does not respond at all. No errors or anything are reported, it just will not respond. Apache continues to work during this time and all static HTML pages are accessible. Perhaps it would be worth your while to turn on more tomcat internal logging, if you haven't done so already. I don't know how to do it in tomcat 3.x, but in 4.x you can get ample information about tomcat's internal processes by increasing the logging levels for certain components. Have you tried using OS-level tools to look for thread locks? I think JDK 1.4 also have something (ctrl-break or something like that, when running from a console) that will show you deadlocks. RAM - This slowly increases and never stops increasing. We do not have any special parameters set for the VM when it starts, but this does not seem to matter. The RAM gets up to about 135 MB after four or five days, but would continue to grow if tomcat were not allowed. What's your -Xmx setting, if any? The JVM by default will only allocate 64MB on the heap, plus a bit extra for overhead. People have complained in the past the the Linux top and ps outputs regarding memory size are confusing. normal, should we just throw more hardware at it? Are there configuration parameters that can be used to increase performance, such as set reloadable=false in all contexts? Would we get better performance if we upgraded to 4.x, or would that just be more work for little improvement? Hardware can't hurt ;) But your load doesn't seem that high. I would say upgrade to the latest tomcat and JVM, if that doesn't pose a problem for you. If your app is to the servlet spec, hopefully you don't have too much work in order to upgrade. Turn off reloadable=true unless you need it. Play with the number of request processing threads. But try to do all this after you develop realistic load tests so that you can test and compare each configuration, and find the bounds for each one... Yoav Shapira Millennium ChemInformatics 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: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
RE: Tomcat Scalability - Long
We have a similar hardware setup (PIII 1GHz 512M) but running Tomcat 4.0.4 on Win2k/IIS and accessing a DB2 database on a separate iSeries server. The system is used by our sales reps in the US and Canada (about 30) over a VPN, so it can see activity at any time. It never really gets hammered but traffic seems to come in spurts with the highest load I have seen of about 5 simultaneous users and the longest session (although we don't use session objects) of about 45 minutes. Keep in mind that I have never actually monitored the traffic, just made mental notes as I was reviewing the log files. So far the only time we have had to restart the machine is to install another MS security patch. The longest continual uptime has been a little over 19 days (the server has only been in production about 10 weeks) and the memory used by Tomcat seems to hover right around 24M. Response time is always in the sub second range, except for a few database queries that seem to take a little longer (still need to do some SQL tuning). I don't know if you can call this solid information, but so far I have not seen anything to worry about scalability wise. -Original Message- From: Brandon Cruz [mailto:bcruz;norvax.com] Sent: Thursday, October 24, 2002 3:36 PM To: Tomcat Users List Subject: Tomcat Scalability - Long Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 ---About our Application--- Our Application is a content management tool that reads and writes to the MySQL Database and reads and writes files. All the pages within this application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. ---What we are seeing--- Tomcat needs to be restarted every few days. If we don't restart it, it seems tomcat eventually locks up and does not respond at all. No errors or anything are reported, it just will not respond. Apache continues to work during this time and all static HTML pages are accessible. CPU - The processor usage seems to slowly increase as time goes on. After about one day, it seems one java process uses 30% of available CPU or more, depending on whether users are performing operations or not. When nobody is doing anything, the processer still seems to be sitting around 30% until tomcat is restarted. This seems to cap after three to five days and not increase too much more. RAM - This slowly increases and never stops increasing. We do not have any special parameters set for the VM when it starts, but this does not seem to matter. The RAM gets up to about 135 MB after four or five days, but would continue to grow if tomcat were not allowed. Can anyone explain this behavior, talk about the scalability of Tomcat, or provide any similar working solutions that perform better than this? Is it normal, should we just throw more hardware at it? Are there configuration parameters that can be used to increase performance, such as set reloadable=false in all contexts? Would we get better performance if we upgraded to 4.x, or would that just be more work for little improvement? -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
Re: Tomcat Scalability - Long
Brandon Cruz wrote: Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. Try upgrading to either: - Tomcat 3.3.1 (less painful) - Tomcat 4.1.12 (more time consuming, but highly beneficial if your site is heavy on JSPs) Remy -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
RE: Tomcat Scalability - Long
We host 15 separate Tomcat instances (3.1) on a single machine. The apps use MySQL. The machine is dual-P3 1GHz, 2GB RAM. Red Hat 7.2, Apache 1.3.26. The connector is mod_jserv. Not sure which JDK, probably 1.3. The usage is high, all of the apps are graphics manipulation apps serving users globally (Pacific Rim, North America, Europe), 24/7. The apps require frequent callouts to third party apps like Adobe Distiller using standard command-line calls (no API or other integration). Uptime is 139 days, load rarely goes over 50%. I did restart all of the Tomcats last week, but that was due to an application patch. Prior to that, they hadn't been restarted in several months, and I don't plan to restart them for a couple more, when the next patch is released. Knock on wood, perhaps we've been lucky, but I think our situation is pretty normal, and definitely what I would expect in a UNIX environment. John -Original Message- From: Brandon Cruz [mailto:bcruz;norvax.com] Sent: Thursday, October 24, 2002 3:36 PM To: Tomcat Users List Subject: Tomcat Scalability - Long Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 ---About our Application--- Our Application is a content management tool that reads and writes to the MySQL Database and reads and writes files. All the pages within this application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
Tomcat Scalability - Long
Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 ---About our Application--- Our Application is a content management tool that reads and writes to the MySQL Database and reads and writes files. All the pages within this application are served by Tomcat 3.2.4. About 80-120 people per day log into this application and spend anywhere from 10 minutes to one hour working on the application. At any given time there are between 15 and 50 active database connections. ---What we are seeing--- Tomcat needs to be restarted every few days. If we don't restart it, it seems tomcat eventually locks up and does not respond at all. No errors or anything are reported, it just will not respond. Apache continues to work during this time and all static HTML pages are accessible. CPU - The processor usage seems to slowly increase as time goes on. After about one day, it seems one java process uses 30% of available CPU or more, depending on whether users are performing operations or not. When nobody is doing anything, the processer still seems to be sitting around 30% until tomcat is restarted. This seems to cap after three to five days and not increase too much more. RAM - This slowly increases and never stops increasing. We do not have any special parameters set for the VM when it starts, but this does not seem to matter. The RAM gets up to about 135 MB after four or five days, but would continue to grow if tomcat were not allowed. Can anyone explain this behavior, talk about the scalability of Tomcat, or provide any similar working solutions that perform better than this? Is it normal, should we just throw more hardware at it? Are there configuration parameters that can be used to increase performance, such as set reloadable=false in all contexts? Would we get better performance if we upgraded to 4.x, or would that just be more work for little improvement? -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
RE: Tomcat Scalability - Long
If your kernel is not in the 2.4.18-2.4.19 range, you should update the kernel. 7.1 is pretty old. It shipped with a very early 2.4 series kernel. -Original Message- From: Brandon Cruz [mailto:bcruz;norvax.com] Sent: 24 October, 2002 1:36 PM To: Tomcat Users List Subject: Tomcat Scalability - Long Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
Re: Tomcat Scalability - Long
Hi. I am still on kernel 2.4.2 and it seems okay. May I ask why we need to upgrade to 2.4.19 ? Sexton, George wrote: If your kernel is not in the 2.4.18-2.4.19 range, you should update the kernel. 7.1 is pretty old. It shipped with a very early 2.4 series kernel. -Original Message- From: Brandon Cruz [mailto:bcruz;norvax.com] Sent: 24 October, 2002 1:36 PM To: Tomcat Users List Subject: Tomcat Scalability - Long Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
RE: Tomcat Scalability - Long
The consensus in the Linux community is the 2.4 series didn't start to really stabilize until 2.4.18. I won't even mention the dozen plus security issues that have been found in the kernel since that version. -Original Message- From: [EMAIL PROTECTED] [mailto:arthur;westnet.com]On Behalf Of [EMAIL PROTECTED] Sent: 24 October, 2002 2:06 AM To: Tomcat Users List Subject: Re: Tomcat Scalability - Long Hi. I am still on kernel 2.4.2 and it seems okay. May I ask why we need to upgrade to 2.4.19 ? Sexton, George wrote: If your kernel is not in the 2.4.18-2.4.19 range, you should update the kernel. 7.1 is pretty old. It shipped with a very early 2.4 series kernel. -Original Message- From: Brandon Cruz [mailto:bcruz;norvax.com] Sent: 24 October, 2002 1:36 PM To: Tomcat Users List Subject: Tomcat Scalability - Long Does anyone have any solid information about the scalability of Tomcat? It seems very limiting to me, but that is hopefully due to improper configuration. Here is our situation and what seems to be happening under a small amount of stress. ---About our Environment--- PIII 1.0Ghz 512 Meg Ram Linux RedHat 7.1 MySQL Database Apache 1.3.x mod_jk - logging turned all the way down Tomcat 3.2.4 - contexts *are* reloadable right now SUN JDK 1.3.1_01 -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-user-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-user-help;jakarta.apache.org
Tomcat scalability question
Hello all -- I have a configuration problem on my setup of Tomcat (v 4.0.3). I am managing this machine for my university's CS department, so there are issues of security that must be followed, namely that students should not be able to view each others source code (== cheating). We are using the security manager to enforce this (so one context cannot open files in another). Less than 5% of the pages on the system are static, so we are using Tomcat in standalone mode on a Linux system. We have made contexts for each user so that we can override the location of home directories, log files, etc. Note that students do not have logins on this machine; their Tomcat-related files are exported to student use machines. See the bottom of this email for pertinent config info. The server starts up correctly (./startup.sh -security) and deploys and serves the webapps fine. But here's the problem: when a user decides to make a new jsp file, Tomcat cannot compile or process that new file. The old files in the directory still display properly; Tomcat gives a Permission Denied error citing the working directory version of the new file in question. - message /usr/local/jakarta-tomcat-4.0.3/work/localhost/user/tomcat/webapps/jsp/graderFiles/graderC$jsp.java (Permission denied) Here's some site-specific config info that will be useful. Tomcat version: 4.0.3 Standalone from binaries There are about 250 contexts that get loaded when the server starts. A `ps aux` listing shows about 500 processes associated with Tomcat running. The machine is a P3-800 with 512 MB of memory, and does not have any other heavy services running on it, so Tomcat has full run of the box. If you need more info for diagnosis, email me and I will provide it. Does anyone have experience setting up a system along these lines? I realize it's probably an extension of what Tomcat is supposed to be used for with all the different contexts, but there has to be a way! Any help is appreciated. server.xml without comments === Server port=8005 shutdown=SHUTDOWN debug=0 Service name=Tomcat-Standalone Connector className=org.apache.catalina.connector.http.HttpConnector port=8080 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=6/ Engine name=Standalone defaultHost=localhost debug=0 Logger className=org.apache.catalina.logger.FileLogger prefix=catalina_log. suffix=.txt timestamp=true/ Host name=localhost debug=0 appBase=webapps unpackWARs=true !-- user1 -- Context path=/user1 docBase=/tomcat/user1 debug=0 reloadable=true crossContext=false /Context !-- user2 -- Context path=/user2 docBase=/tomcat/user2 debug=0 reloadable=true crossContext=false /Context /Host /Engine /Service /Server === Thanks in advance for any help you can provide. Apologies for the lengthy email. Pat Schaider doctor {at} wt {dot} net -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Tomcat scalability question
Hi, Just a suggestion. Why not use Apache to take care of all the security? Ie have home directories for each user and only the user has access to his/her home directory, then apache can use a standard like http://localhost/~user and everything is sepearate. It would be a lot easier to Administer. When you delete or add new user they just have a webapps folder and it goes from there. Ie user/ webapps/ context1/ index.jsp WEB-INF/ classes/ home.class lib/ tools.jar web.xml context2/ index.jsp WEB-INF/ classes/ cool.class lib/ goodstuff.jar web.xml I don't know if that would work. It might need to to be reorganised. But a system like this would be a lot better than administering a 500+ entry xml file. Oh well some other people will have more of an idea if this is possible. I know Apache can have the ~user bit and it just maps to home directories under /home/usr/username. Nicholas Orr -Original Message- From: Pat Schaider [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 10 September 2002 4:08 PM To: [EMAIL PROTECTED] Subject: Tomcat scalability question Hello all -- I have a configuration problem on my setup of Tomcat (v 4.0.3). I am managing this machine for my university's CS department, so there are issues of security that must be followed, namely that students should not be able to view each others source code (== cheating). We are using the security manager to enforce this (so one context cannot open files in another). Less than 5% of the pages on the system are static, so we are using Tomcat in standalone mode on a Linux system. We have made contexts for each user so that we can override the location of home directories, log files, etc. Note that students do not have logins on this machine; their Tomcat-related files are exported to student use machines. See the bottom of this email for pertinent config info. The server starts up correctly (./startup.sh -security) and deploys and serves the webapps fine. But here's the problem: when a user decides to make a new jsp file, Tomcat cannot compile or process that new file. The old files in the directory still display properly; Tomcat gives a Permission Denied error citing the working directory version of the new file in question. - message /usr/local/jakarta-tomcat-4.0.3/work/localhost/user/tomcat/webapps/jsp/grade rFiles/graderC$jsp.java (Permission denied) Here's some site-specific config info that will be useful. Tomcat version: 4.0.3 Standalone from binaries There are about 250 contexts that get loaded when the server starts. A `ps aux` listing shows about 500 processes associated with Tomcat running. The machine is a P3-800 with 512 MB of memory, and does not have any other heavy services running on it, so Tomcat has full run of the box. If you need more info for diagnosis, email me and I will provide it. Does anyone have experience setting up a system along these lines? I realize it's probably an extension of what Tomcat is supposed to be used for with all the different contexts, but there has to be a way! Any help is appreciated. server.xml without comments === Server port=8005 shutdown=SHUTDOWN debug=0 Service name=Tomcat-Standalone Connector className=org.apache.catalina.connector.http.HttpConnector port=8080 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=6/ Engine name=Standalone defaultHost=localhost debug=0 Logger className=org.apache.catalina.logger.FileLogger prefix=catalina_log. suffix=.txt timestamp=true/ Host name=localhost debug=0 appBase=webapps unpackWARs=true !-- user1 -- Context path=/user1 docBase=/tomcat/user1 debug=0 reloadable=true crossContext=false /Context !-- user2 -- Context path=/user2 docBase=/tomcat/user2 debug=0 reloadable=true crossContext=false /Context /Host /Engine /Service /Server === Thanks in advance for any help you can provide. Apologies for the lengthy email. Pat Schaider doctor {at} wt {dot} net -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] ** The information contained in this e-mail is confidential and is intended only for the use of the addressee(s). If you receive this e-mail in error, any use, distribution or copying of this e-mail is not permitted. You are requested to forward unwanted e-mail and address any problems to the MIM Holdings Limited Support Centre. For general enquires: ++61 7 3833 8000 Support Centre e-mail: [EMAIL PROTECTED] Support Centre phone: Australia 1800500646
Re: Tomcat scalability question
The permission denied can be generated one of two ways. First, the catalina.policy file must grant the correct FilePermission. Even if the correct FilePermission is granted in catalina.policy, you still have to comply with normal unix file ownership/permissions. If it is a catalina.policy configuration issue try defining the following property when starting tomcat: -Djava.security.debug=access,failure Then review the logs for the failed file permission and look at what CodeBase is identified as failing for the FilePermission. Regards, Glenn Presenting Tomcat Server and Application Security session at ApacheCon 2002, Las Vegas, NV Nov 18-21. Pat Schaider wrote: Hello all -- I have a configuration problem on my setup of Tomcat (v 4.0.3). I am managing this machine for my university's CS department, so there are issues of security that must be followed, namely that students should not be able to view each others source code (== cheating). We are using the security manager to enforce this (so one context cannot open files in another). Less than 5% of the pages on the system are static, so we are using Tomcat in standalone mode on a Linux system. We have made contexts for each user so that we can override the location of home directories, log files, etc. Note that students do not have logins on this machine; their Tomcat-related files are exported to student use machines. See the bottom of this email for pertinent config info. The server starts up correctly (./startup.sh -security) and deploys and serves the webapps fine. But here's the problem: when a user decides to make a new jsp file, Tomcat cannot compile or process that new file. The old files in the directory still display properly; Tomcat gives a Permission Denied error citing the working directory version of the new file in question. - message /usr/local/jakarta-tomcat-4.0.3/work/localhost/user/tomcat/webapps/jsp/graderFiles/graderC$jsp.java (Permission denied) Here's some site-specific config info that will be useful. Tomcat version: 4.0.3 Standalone from binaries There are about 250 contexts that get loaded when the server starts. A `ps aux` listing shows about 500 processes associated with Tomcat running. The machine is a P3-800 with 512 MB of memory, and does not have any other heavy services running on it, so Tomcat has full run of the box. If you need more info for diagnosis, email me and I will provide it. Does anyone have experience setting up a system along these lines? I realize it's probably an extension of what Tomcat is supposed to be used for with all the different contexts, but there has to be a way! Any help is appreciated. server.xml without comments === Server port=8005 shutdown=SHUTDOWN debug=0 Service name=Tomcat-Standalone Connector className=org.apache.catalina.connector.http.HttpConnector port=8080 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0 connectionTimeout=6/ Engine name=Standalone defaultHost=localhost debug=0 Logger className=org.apache.catalina.logger.FileLogger prefix=catalina_log. suffix=.txt timestamp=true/ Host name=localhost debug=0 appBase=webapps unpackWARs=true !-- user1 -- Context path=/user1 docBase=/tomcat/user1 debug=0 reloadable=true crossContext=false /Context !-- user2 -- Context path=/user2 docBase=/tomcat/user2 debug=0 reloadable=true crossContext=false /Context /Host /Engine /Service /Server === Thanks in advance for any help you can provide. Apologies for the lengthy email. Pat Schaider doctor {at} wt {dot} net -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
RE: Tomcat scalability question
I should clarify. Security in this case means a student should not be able to view the source code of another student. Because we are exporting the files but they still need to be accessible by Tomcat, each user directory is 570 tomcat:user and all files inside are world readable. This allows the files to be secure from the perspective of the filesystems on both the exporting and mounting machines but still be all readable by Tomcat. However, another way a student could look at other files is by using a BufferedReader within a servlet/jsp and simply viewing/saving the contents. Since Tomcat is running as the tomcat user and not them, it has access to the files. This is something that the Tomcat security manager should take care of, enforcing the boundaries between the students' directories that all exist at the same logical level. I don't think Apache can make the distinction between the files that a servlet/jsp is opening in this instance if Tomcat has unrestricted access between all contexts. If I am wrong in this respect, please correct me. I would love a simple solution. (As far as the server.xml goes, I have it all scripted with the data coming from databases, so it's relatively easy to make a version of the file...) Pat Schaider On Mon, 2002-09-09 at 20:19, Nicholas Orr wrote: Hi, Just a suggestion. Why not use Apache to take care of all the security? Ie have home directories for each user and only the user has access to his/her home directory, then apache can use a standard like http://localhost/~user and everything is sepearate. It would be a lot easier to Administer. When you delete or add new user they just have a webapps folder and it goes from there. Ie user/ webapps/ context1/ index.jsp WEB-INF/ classes/ home.class lib/ tools.jar web.xml context2/ index.jsp WEB-INF/ classes/ cool.class lib/ goodstuff.jar web.xml I don't know if that would work. It might need to to be reorganised. But a system like this would be a lot better than administering a 500+ entry xml file. Oh well some other people will have more of an idea if this is possible. I know Apache can have the ~user bit and it just maps to home directories under /home/usr/username. Nicholas Orr -Original Message- From: Pat Schaider [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 10 September 2002 4:08 PM To: [EMAIL PROTECTED] Subject: Tomcat scalability question Hello all -- I have a configuration problem on my setup of Tomcat (v 4.0.3). I am managing this machine for my university's CS department, so there are issues of security that must be followed, namely that students should not be able to view each others source code (== cheating). We are using the security manager to enforce this (so one context cannot open files in another). Less than 5% of the pages on the system are static, so we are using Tomcat in standalone mode on a Linux system. We have made contexts for each user so that we can override the location of home directories, log files, etc. Note that students do not have logins on this machine; their Tomcat-related files are exported to student use machines. See the bottom of this email for pertinent config info. The server starts up correctly (./startup.sh -security) and deploys and serves the webapps fine. But here's the problem: when a user decides to make a new jsp file, Tomcat cannot compile or process that new file. The old files in the directory still display properly; Tomcat gives a Permission Denied error citing the working directory version of the new file in question. - message /usr/local/jakarta-tomcat-4.0.3/work/localhost/user/tomcat/webapps/jsp/grade rFiles/graderC$jsp.java (Permission denied) Here's some site-specific config info that will be useful. Tomcat version: 4.0.3 Standalone from binaries There are about 250 contexts that get loaded when the server starts. A `ps aux` listing shows about 500 processes associated with Tomcat running. The machine is a P3-800 with 512 MB of memory, and does not have any other heavy services running on it, so Tomcat has full run of the box. If you need more info for diagnosis, email me and I will provide it. Does anyone have experience setting up a system along these lines? I realize it's probably an extension of what Tomcat is supposed to be used for with all the different contexts, but there has to be a way! Any help is appreciated. server.xml without comments === Server port=8005 shutdown=SHUTDOWN debug=0 Service name=Tomcat-Standalone Connector className=org.apache.catalina.connector.http.HttpConnector port=8080 minProcessors=5 maxProcessors=75 enableLookups=true redirectPort=8443 acceptCount=10 debug=0
RE: Tomcat scalability question
(As far as the server.xml goes, I have it all scripted with the data coming from databases, so it's relatively easy to make a version of the file...) Oh, well, that's cool then. I'm not a guru at Tomcat I was just trying make a suggestion. But I see your point with Tomcat running as Tomcat user and thus has access to everything. Well hope you get a solution. Nicholas Orr -Original Message- From: Pat Schaider [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 10 September 2002 4:57 PM To: Tomcat Users List Subject: RE: Tomcat scalability question I should clarify. Security in this case means a student should not be able to view the source code of another student. Because we are exporting the files but they still need to be accessible by Tomcat, each user directory is 570 tomcat:user and all files inside are world readable. This allows the files to be secure from the perspective of the filesystems on both the exporting and mounting machines but still be all readable by Tomcat. However, another way a student could look at other files is by using a BufferedReader within a servlet/jsp and simply viewing/saving the contents. Since Tomcat is running as the tomcat user and not them, it has access to the files. This is something that the Tomcat security manager should take care of, enforcing the boundaries between the students' directories that all exist at the same logical level. I don't think Apache can make the distinction between the files that a servlet/jsp is opening in this instance if Tomcat has unrestricted access between all contexts. If I am wrong in this respect, please correct me. I would love a simple solution. (As far as the server.xml goes, I have it all scripted with the data coming from databases, so it's relatively easy to make a version of the file...) Pat Schaider On Mon, 2002-09-09 at 20:19, Nicholas Orr wrote: Hi, Just a suggestion. Why not use Apache to take care of all the security? Ie have home directories for each user and only the user has access to his/her home directory, then apache can use a standard like http://localhost/~user and everything is sepearate. It would be a lot easier to Administer. When you delete or add new user they just have a webapps folder and it goes from there. Ie user/ webapps/ context1/ index.jsp WEB-INF/ classes/ home.class lib/ tools.jar web.xml context2/ index.jsp WEB-INF/ classes/ cool.class lib/ goodstuff.jar web.xml I don't know if that would work. It might need to to be reorganised. But a system like this would be a lot better than administering a 500+ entry xml file. Oh well some other people will have more of an idea if this is possible. I know Apache can have the ~user bit and it just maps to home directories under /home/usr/username. Nicholas Orr -Original Message- From: Pat Schaider [mailto:[EMAIL PROTECTED]] Sent: Tuesday, 10 September 2002 4:08 PM To: [EMAIL PROTECTED] Subject: Tomcat scalability question Hello all -- I have a configuration problem on my setup of Tomcat (v 4.0.3). I am managing this machine for my university's CS department, so there are issues of security that must be followed, namely that students should not be able to view each others source code (== cheating). We are using the security manager to enforce this (so one context cannot open files in another). Less than 5% of the pages on the system are static, so we are using Tomcat in standalone mode on a Linux system. We have made contexts for each user so that we can override the location of home directories, log files, etc. Note that students do not have logins on this machine; their Tomcat-related files are exported to student use machines. See the bottom of this email for pertinent config info. The server starts up correctly (./startup.sh -security) and deploys and serves the webapps fine. But here's the problem: when a user decides to make a new jsp file, Tomcat cannot compile or process that new file. The old files in the directory still display properly; Tomcat gives a Permission Denied error citing the working directory version of the new file in question. - message /usr/local/jakarta-tomcat-4.0.3/work/localhost/user/tomcat/webapps/jsp /grade rFiles/graderC$jsp.java (Permission denied) Here's some site-specific config info that will be useful. Tomcat version: 4.0.3 Standalone from binaries There are about 250 contexts that get loaded when the server starts. A `ps aux` listing shows about 500 processes associated with Tomcat running. The machine is a P3-800 with 512 MB of memory, and does not have any other heavy services running on it, so Tomcat has full run of the box. If you need more info for diagnosis, email me and I will provide
Re: Designing for scalability ?
From: David Lu [EMAIL PROTECTED] you're talking about a clustered environment. such capabilities are already available in commercial app servers like weblogic. I've often wondered why somebody would actually want to put out several thousand US$ for a BEA or ATG when Tomcat is available. Are such features in the Tomcat roadmap ? I presume that they were not in the J2EE specifications. here are some things you want to do now if you think you'll ever go clustered: - make sure everything you put into the session implements Serializable. this way the app server can share session data. Nice tip. How does a clustered environment share these objects ? I'm surprised that they (and Tomcat) don't provide the option of usinga central relational database for storing session objects between multiple servers. - don't put large data objects (like a Collection) into the session. - don't rely on static data held in singleton objects, because you may end up with multiple singleton objects, one in every app server instance. - code to standards and avoid app-server-specific features as much as you can, for you may have to change app servers for clustering. Super. Thank you for sharing this experience and wisdom, David. Soefara. _ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
Re: Designing for scalability ?
There is an excellent article at The ServerSide about adding in-memory session sharing across Tomcat engines : http://www.theserverside.com/resources/article.jsp?l=Tomcat Using an RDBMS as the session store would add a high degree of resiliency at the cost of performance. The approach above seems pretty fast and resilient. It's almost magical to start up new Tomcat instances and see the session data shared with them. Jon. Soefara Redzuan wrote: From: David Lu [EMAIL PROTECTED] you're talking about a clustered environment. such capabilities are already available in commercial app servers like weblogic. I've often wondered why somebody would actually want to put out several thousand US$ for a BEA or ATG when Tomcat is available. Are such features in the Tomcat roadmap ? I presume that they were not in the J2EE specifications. here are some things you want to do now if you think you'll ever go clustered: - make sure everything you put into the session implements Serializable. this way the app server can share session data. Nice tip. How does a clustered environment share these objects ? I'm surprised that they (and Tomcat) don't provide the option of usinga central relational database for storing session objects between multiple servers. - don't put large data objects (like a Collection) into the session. - don't rely on static data held in singleton objects, because you may end up with multiple singleton objects, one in every app server instance. - code to standards and avoid app-server-specific features as much as you can, for you may have to change app servers for clustering. Super. Thank you for sharing this experience and wisdom, David. Soefara. _ Join the world?s largest e-mail service with MSN Hotmail. http://www.hotmail.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED] -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
AW: Designing for scalability ?
There are several ways to achieve scalability: - Use a session aware external load balancer - Use the tomcat loadbancer mod_jk has a loadbalacer that implements sticky sessions (AFAIK the loadbalancer currently just works with 3.2/3.3) - Use distributed sessions I don't know the state for tomcat. But there is something going on. - Scale horicontal - deploy apache, tomcat, database on different machines. - Scale vertically Depending on the kind of application you have, you can deploy differents part of your application on different machines. It depends on you application if you need to keep the session between these parts. - Scale with hardware Buy or rent a bigger/faster machine or improve your existing one. (Find out the bottlenecks and improve) There are many solutions around from 1 to several hundred processors with different architectures. Depending on your needs this can be much cheaper in TCO than a second machnine. (With a second machine you double the administrative overhead, you need to think about distributed backup, the failure rate will increase) - Scale with optimizing Make your application faster on the same hardware. If you want to scale by deploying tomcat to several machines this is not always transparent to your application. Some examples: - If you create unique id's, you must make shure that they are unique across instances. - If you store information in the file system you have to enshure - that it is acsessible to the current session no matter on which machine the session currently is - that if you use sticky sessions, this information is not needed by other sessions or it is available on all machines. -Ursprüngliche Nachricht- Von: Soefara Redzuan [mailto:[EMAIL PROTECTED]] Gesendet: Donnerstag, 11. April 2002 04:56 An: [EMAIL PROTECTED] Betreff: Designing for scalability ? -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
Designing for scalability ?
If one day you suspect that one Tomcat server will not be sufficient, and you will have to employ 2 or more Tomcat servers running on separate machines, how can we allow for scalability ? For example, using simple DNS round-robbin to offload requests between servers, a first request might arrive at one server and a Session object created. But if the subsequent request (from the same client) arrives at a different server, that Session will not be found, will it ? (As far as I know, there is no method to store Sessions in a common database used by several servers) What steps are people taking to allow for scalability in their applications ? Are there any steps that can be implemented at initial development which may save time further down the road ? Thank you, Soefara. _ Chat with friends online, try MSN Messenger: http://messenger.msn.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
RE: Designing for scalability ?
There are several options you can use for scalability. A software solution is to use Windows 2000 Advanced Server. In a clustered environment, there is a parameter called Affinity. Affinity will maintain the client's session to one particular server in the cluster. Advanced Server works by assigning the cluster 1 IP address and each individual server a secondary IP address. A hardware solution is to use a load balancer. Coyote Point makes a good load balancer (Equalizer 250) which will maintain the session to the appropriate server. Kurt Seidensticker HostJSP.com, HostJ2EE.com PROMINENT SOFTWARE GROUP, INC. 4TH FLOOR 10 N MARTINGALE RD SCHAUMBURG, IL 60173 ph: 847-466-1010 fx: 847-466-1101 -Original Message- From: Soefara Redzuan [mailto:[EMAIL PROTECTED]] Sent: Wednesday, April 10, 2002 9:56 PM To: [EMAIL PROTECTED] Subject: Designing for scalability ? If one day you suspect that one Tomcat server will not be sufficient, and you will have to employ 2 or more Tomcat servers running on separate machines, how can we allow for scalability ? For example, using simple DNS round-robbin to offload requests between servers, a first request might arrive at one server and a Session object created. But if the subsequent request (from the same client) arrives at a different server, that Session will not be found, will it ? (As far as I know, there is no method to store Sessions in a common database used by several servers) What steps are people taking to allow for scalability in their applications ? Are there any steps that can be implemented at initial development which may save time further down the road ? Thank you, Soefara. _ Chat with friends online, try MSN Messenger: http://messenger.msn.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED] -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
Re: Designing for scalability ?
you're talking about a clustered environment. such capabilities are already available in commercial app servers like weblogic. here are some things you want to do now if you think you'll ever go clustered: - make sure everything you put into the session implements Serializable. this way the app server can share session data. - don't put large data objects (like a Collection) into the session. - don't rely on static data held in singleton objects, because you may end up with multiple singleton objects, one in every app server instance. - code to standards and avoid app-server-specific features as much as you can, for you may have to change app servers for clustering. - david - On 2002.04.10 19:56 Soefara Redzuan wrote: If one day you suspect that one Tomcat server will not be sufficient, and you will have to employ 2 or more Tomcat servers running on separate machines, how can we allow for scalability ? [...] What steps are people taking to allow for scalability in their applications ? Are there any steps that can be implemented at initial development which may save time further down the road ? Thank you, Soefara. -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
RE: Designing for scalability ?
A software solution is to use Windows 2000 Advanced Server. In a clustered environment, there is a parameter called Affinity. Affinity will maintain the client's session to one particular server in the cluster. Advanced Server works by assigning the cluster 1 IP address and each individual server a secondary IP address. Bewarned. I've seen this w2k solution fail miserably twice out of two attempted deployments. Hardware loadbalancing is the way to go imo. -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
Tomcat robustness and scalability
Hi, I'm doing an assessment for a company to replace weblogic with tomcat/jboss. I've managed to get an installation using the jboss/tomcat bundle and am currently comparing it to the weblogic installaion. The good news is that (using jmeter), if I fire a repetative single requests at both installations the tomcat/jboss is as good as weblogic (it's actually slightly faster) If however, I set up 20 threads that fire the same request simultaneously, weblogic breezes on (with a slightly slower response time), but the Tomcat/Jboss installation falls over. This is the error [INFO,EmbeddedCatalinaServiceSX] HttpConnector[8080] No processor available, rejecting this connection It does start up 19 new threads, but eventually decides it can't start any more, at that point it refuses to receive any more connections. I am using the jboss/tomcat config files and cant find any references to the maxProcessors parameter, so I assume it is set to the default of 75. The process is running on a solaris box, and connecting to Oracle. I would gratefully accept any comments on this as I strongly desire recommending the jboss/tomcat installation, but obviously can not do it if it compromises the stability of the site. Cheers James Thornley __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
Re: Tomcat robustness and scalability
Panic over, I've discovered the EmbeddedCatalinaServiceSX mbean which initialises the catalina instance takes a parameter of MaxProcessors, and if you don't give it it defaults to 20. Sorry for wasting your time James Thornley --- James Thornley [EMAIL PROTECTED] wrote: Hi, I'm doing an assessment for a company to replace weblogic with tomcat/jboss. I've managed to get an installation using the jboss/tomcat bundle and am currently comparing it to the weblogic installaion. The good news is that (using jmeter), if I fire a repetative single requests at both installations the tomcat/jboss is as good as weblogic (it's actually slightly faster) If however, I set up 20 threads that fire the same request simultaneously, weblogic breezes on (with a slightly slower response time), but the Tomcat/Jboss installation falls over. This is the error [INFO,EmbeddedCatalinaServiceSX] HttpConnector[8080] No processor available, rejecting this connection It does start up 19 new threads, but eventually decides it can't start any more, at that point it refuses to receive any more connections. I am using the jboss/tomcat config files and cant find any references to the maxProcessors parameter, so I assume it is set to the default of 75. The process is running on a solaris box, and connecting to Oracle. I would gratefully accept any comments on this as I strongly desire recommending the jboss/tomcat installation, but obviously can not do it if it compromises the stability of the site. Cheers James Thornley __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
Re: Tomcat robustness and scalability
James, thank you very much for this hint. I wasn't aware of this parameter. By the way, I (maybe others on the list too) am very interested in the results of your assessment. Would you mind posting it, once you're done? Greetings Michael Kastner - Original Message - From: James Thornley [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Thursday, January 31, 2002 5:50 PM Subject: Re: Tomcat robustness and scalability Panic over, I've discovered the EmbeddedCatalinaServiceSX mbean which initialises the catalina instance takes a parameter of MaxProcessors, and if you don't give it it defaults to 20. Sorry for wasting your time James Thornley --- James Thornley [EMAIL PROTECTED] wrote: Hi, I'm doing an assessment for a company to replace weblogic with tomcat/jboss. I've managed to get an installation using the jboss/tomcat bundle and am currently comparing it to the weblogic installaion. The good news is that (using jmeter), if I fire a repetative single requests at both installations the tomcat/jboss is as good as weblogic (it's actually slightly faster) If however, I set up 20 threads that fire the same request simultaneously, weblogic breezes on (with a slightly slower response time), but the Tomcat/Jboss installation falls over. This is the error [INFO,EmbeddedCatalinaServiceSX] HttpConnector[8080] No processor available, rejecting this connection It does start up 19 new threads, but eventually decides it can't start any more, at that point it refuses to receive any more connections. I am using the jboss/tomcat config files and cant find any references to the maxProcessors parameter, so I assume it is set to the default of 75. The process is running on a solaris box, and connecting to Oracle. I would gratefully accept any comments on this as I strongly desire recommending the jboss/tomcat installation, but obviously can not do it if it compromises the stability of the site. Cheers James Thornley __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com __ Do You Yahoo!? Great stuff seeking new owners in Yahoo! Auctions! http://auctions.yahoo.com -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED] -- To unsubscribe: mailto:[EMAIL PROTECTED] For additional commands: mailto:[EMAIL PROTECTED] Troubles with the list: mailto:[EMAIL PROTECTED]
RE: how to test the website scalability
LoadRunner is the top-of-the-line in Mercury's load testing tools. But they have smaller packages, much cheaper, like Astra Load Test. If you need a one-time load testing effort, they can do it for you, which will save you time and effort on finding and configuring enough machines to run a real load test. This service is called Active Test. The website is: http://www.mercuryinteractive.com/ Shay. -Original Message- From: Charles Webber [mailto:[EMAIL PROTECTED]] Sent: Tuesday, September 18, 2001 6:57 AM To: [EMAIL PROTECTED] Subject: Re: how to test the website scalability Mercury Interactive LoadRunner is probably the most comprehensive tool, but there are others. Radview (www.radview.com) has a tool called webload, that does a fairly good job of this as well. Depends on what kind of load test you require as well. If you just want to simulate a couple hudred virtual clients, you don't need much hardware on the load generation side of the network. On the other hand, if you want many thousand users, you might want to hire the test performed by one of the companies listed, as they should have hardware capable of generating load. You'll also need to figure out exactly what you want to test. Do you want to test the performance of the web server or the entire application and database layers as well? What kind of response time threshholds are acceptable? What kind of results do you need to get? Do you need averages? Do you need min/max response times? Do you need server resource utilization statistics, such as memory, CPU, system calls, other resources? There's a ton of things you need to consider when doing one of these tests, and just a little of the benefit of my somewhat limited experience. - Original Message - From: Bryan Lipscy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 17, 2001 9:10 PM Subject: RE: how to test the website scalability Mercury Interactive's LoadRunner is probably one of the best on the market. Just a bit on the pricey side. -Original Message- From: Huaxin [mailto:[EMAIL PROTECTED]] Sent: Sunday, September 17, 2000 7:09 PM To: [EMAIL PROTECTED] Subject: how to test the website scalability This is quite general to all website development. When the website is completed, how can I test its scalability by faking a lot of URL request for it from various IPs concurrently? is there kind of such tools for that? thanks a lot!
how to test the website scalability
This is quite general to all website development. When the website is completed, how can I test its scalability by faking a lot of URL request for it from various IPs concurrently? is there kind of such tools for that? thanks a lot!
RE: how to test the website scalability
Mercury Interactive's LoadRunner is probably one of the best on the market. Just a bit on the pricey side. -Original Message- From: Huaxin [mailto:[EMAIL PROTECTED]] Sent: Sunday, September 17, 2000 7:09 PM To: [EMAIL PROTECTED] Subject: how to test the website scalability This is quite general to all website development. When the website is completed, how can I test its scalability by faking a lot of URL request for it from various IPs concurrently? is there kind of such tools for that? thanks a lot!
Re: how to test the website scalability
Mercury Interactive LoadRunner is probably the most comprehensive tool, but there are others. Radview (www.radview.com) has a tool called webload, that does a fairly good job of this as well. Depends on what kind of load test you require as well. If you just want to simulate a couple hudred virtual clients, you don't need much hardware on the load generation side of the network. On the other hand, if you want many thousand users, you might want to hire the test performed by one of the companies listed, as they should have hardware capable of generating load. You'll also need to figure out exactly what you want to test. Do you want to test the performance of the web server or the entire application and database layers as well? What kind of response time threshholds are acceptable? What kind of results do you need to get? Do you need averages? Do you need min/max response times? Do you need server resource utilization statistics, such as memory, CPU, system calls, other resources? There's a ton of things you need to consider when doing one of these tests, and just a little of the benefit of my somewhat limited experience. - Original Message - From: Bryan Lipscy [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 17, 2001 9:10 PM Subject: RE: how to test the website scalability Mercury Interactive's LoadRunner is probably one of the best on the market. Just a bit on the pricey side. -Original Message- From: Huaxin [mailto:[EMAIL PROTECTED]] Sent: Sunday, September 17, 2000 7:09 PM To: [EMAIL PROTECTED] Subject: how to test the website scalability This is quite general to all website development. When the website is completed, how can I test its scalability by faking a lot of URL request for it from various IPs concurrently? is there kind of such tools for that? thanks a lot!
tomcat and scalability
We are building a large in-house enterprise application, and we are evaluating JSP technology. We are considering what is known as the "JSP Model 2" architecture, where business logic lives in JavaBeans, servlets handle control flow, and presentation is handled by JSP. Are people using JSP for large enterprise applications (as opposed to consumer websites)? Are there any issues to be aware of, if your application will have a thousand or more webpages? For example, will tomcat load all thousand JSP pages (servlets) into memory as they are used, and keep them there (as opposed to discarding them after a while)? Will this cause performance problems because of excessive swapping etc? __ Do You Yahoo!? Yahoo! Auctions - Buy the things you want at great prices. http://auctions.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: tomcat and scalability
On Tue, 13 Mar 2001, rajeev wrote: We are building a large in-house enterprise application, and we are evaluating JSP technology. We are considering what is known as the "JSP Model 2" architecture, where business logic lives in JavaBeans, servlets handle control flow, and presentation is handled by JSP. One technology you might want to evaluate for this is the Struts Framework http://jakarta.apache.org/struts, which implements precisely this idea. Are people using JSP for large enterprise applications (as opposed to consumer websites)? Are there any issues to be aware of, if your application will have a thousand or more webpages? There have been numerous references to large scale JSP-based web sites, both on the Tomcat user list and at the JavaSoft web site http://java.sun.com/products/jsp. As with anything, you want to look for an environment where the pages compile to code that runs fast enough for your needs (on the hardware platform you run it on). Also like any Java app, you want the fastest JDK you can get your hands on. For example, will tomcat load all thousand JSP pages (servlets) into memory as they are used, and keep them there (as opposed to discarding them after a while)? Will this cause performance problems because of excessive swapping etc? In the case of Tomcat in particular, it will happily load a thousand JSP pages (each one loaded the first time it is accessed), as long as you have provided sufficient heap memory to your JDK at startup time. Tomcat itself does not unload pages that haven't been referenced lately, although other containers might. IMHO, any web application that causes any swapping (at the OS level) at all is on a system with too little real memory. At today's prices, there is just no reason not to buy enough to meet your needs. On one application I was involved in, we ran on a server with a gigabyte of main memory (in this case we were very aggressively caching data to avoid redundant database access, but the principle was the same) -- and the per-server price for CPU (four processors) and memory was still in the five figure range (US$). Craig McClanahan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
NullPointerException´s and Scalability of Tomcat 3.2.1
Hi All im currently testing tomcat 3.2.1 to check if it is suitable for a produktion environment. i do some load tests with ab and Curl to get a few numbers how tomcat scales over CPUs and or mashines. I have to ore more apache with mod_jserv behind a lvs loadbalancer. every apache is configured to balance to ajpv12 traffic to two tomcat instances on two mashines running linux with jdk1.3. no i started doing some basic load tests with the simple bust useful ab from the apache group. first i tried to get a simple one-line jsp with 10 concurent sessions - everything ist fine with 50 concurent sessions i got a lot of the follwing exeptions: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:380) at org.apache.jasper.runtime.PageContextImpl.setAttribute(PageContextImpl.java:251) at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:198) at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:149) at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:99) at _0002ftest_0002ejsptest_jsp_1._jspService(_0002ftest_0002ejsptest_jsp_1.java:47) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) in org/apache/jasper/runtime/PageContextImpl.java i found the following /* * fields */ // per Servlet state protected Servlet servlet; protected ServletConfig config; protected ServletContext context; protected JspFactory factory; protected booleanneedsSession; protected String errorPageURL; protected booleanautoFlush; protected int bufferSize; // page scope attributes protected transient Hashtable attributes = new Hashtable(16); ^^^ // per request state protected transient ServletRequest request; protected transient ServletResponse response; protected transient Object page; protected transient HttpSession session; // initial output stream protected transient JspWriter out; } ## another problem ive found is with tomcat configuration When i specified a single Address to bind in the AJP12 Connector Settings in server.xml like Connector className="org.apache.tomcat.service.PoolTcpConnector" Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp12ConnectionHandler"/ Parameter name="inet" value="185.29.1.97"/ Parameter name="port" value="8007"/ .. Tomcat starts and realy it binds to the specified address but when i try to stop tomcat i get a connection refused. in org/apache/tomcat/tasj/StopTomcat.java i found the following // use Ajp12 to stop the server... try { Socket socket = new Socket("localhost", portInt); ^^ OutputStream os=socket.getOutputStream(); byte stopMessage[]=new byte[2]; stopMessage[0]=(byte)254; stopMessage[1]=(byte)15; os.write( stopMessage ); socket.close(); } catch(Exception ex ) { ex.printStackTrace(); } } } Im sorry but im not really familiar with java nor a programmer but please give me some hints how to solve.. greetings in advance Stefan Majer Advance Bank AG Putzbrunnerstrasse 71 Munich Germany - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]