RE: RE: Re: Performance Improvement :: Struts based applications
Raise the debug level for certain packages in your production environment (if you run debug there at all), set classes like log4j.logger.org.apache.commons.digester to FATAL. This will trim down your log files considerably. You should consider proper use of the logging levels within your application to provide meaningful INFO/ERROR messages so you should not have to run at DEBUG level anywhere other than in development. - How soon after starting up your appserver are you trying to hit your application ? You have to allow time for the appserver to initialise its resources. Tomcat 4.1.24 takes a little over 6 seconds to boot on one of our development boxes and initialise 7 (pre-deployed) applications, and be ready to service requests. If you are starting your appserver and having it redeploy your war file on startup then you should be expected to wait for it to initialise. If you setup connection pools on startup then check they are all available and none are timing out etc. As another user said you could always run JProbe to get to the root cause without too much hassle :) Chris McCormack -Original Message- From: Scott Piker [mailto:[EMAIL PROTECTED] Sent: 18 March 2004 22:23 To: [EMAIL PROTECTED] Subject: Re: RE: Re: Performance Improvement :: Struts based applications What's your logging level set to? We recently did a late roll-in of log4j to our app and discovered that when we set logging level to debug, the initial struts/tiles initialization process takes forever (5 mins) and generates thousands of lines of debug statements as the various config files get parsed. [EMAIL PROTECTED] 3/18/2004 3:19:19 PM Chris, I have precompiled JSP files. So i do not think that is a problem. Rather I feel it is ActionServlet which is taking time to intialize on first startup. Yes, I tries to use the cache mechanism of Apache (in windows), like mod_cache, mod_file_cache, mod_mem_cache and mod_disk_cache. But could not see much improvement. But no cache mechanism in Tomcat.Or are you talking of something else? Apache provides cache taglibs for the JSPs. Do you recommend to use that?? The site that you have mentioned http://wiki.opensymphony.com/space/OSCache, I have been to there, but that is a commercial one. I want a freeware. Can you give me some reference? Regards, Satya. that On Thu, 18 Mar 2004 McCormack, Chris wrote : If you build your war file using ant then you can use jasper (see org.apache.jasper.JspC) to precompile your jsps. This is useful if you are deploying your app to a live user environment and dont want the initial compile time to impact any users experience. On top of that you could use tomcat/apache mods to compress requests etc. If you are serious about needing bigger performance boosts, then look at partial/full caching. i.e store in server ram/disk the static or infrequently changing parts of your application (jsp or java objects), or have a small cache period on dynamic but less frequently updated parts of your application. There are a few companies that ply these out of the box caching solutions on companies now for extortionate cost (naming no names) but there are a few excellent open source contenders. The best of the open source solutions I have used is this one : http://wiki.opensymphony.com/space/OSCache (It does tie you in to using HttpSession unfortunately, but with a few lines of code you can easily work around this). It is a shame that this project http://www.jcp.org/en/jsr/detail?id=128 is not in progress, anyone on this list working on it ? ;) cheers Chris McCormack -Original Message- From: Axel Groß [mailto:[EMAIL PROTECTED] Sent: 18 March 2004 14:43 To: Struts Users Mailing List Cc: [EMAIL PROTECTED] Subject: Re: Re: Performace Improvement :: Struts based applications some IDEs also precompile the pages... axel On 2004-03-18 at 14:16:26 +0100, [EMAIL PROTECTED] wrote: The reason is jsps are not compiled when you hit the pages the first time.So the first call will always be slow as it alos has to compile jsps.The subsequent calls will use the compiled jsps and hence faster. Some server/ServletEngines have the option to precompile jsps. HTH. Regards, Shirish -Original Message- From: Satya Narayan Dash [mailto:[EMAIL PROTECTED] Sent: Thursday, March 18, 2004 2:13 PM To: Struts Users Mailing List Cc: Vic Cekvenich Subject: Re: Re: Performace Improvement :: Struts based applications Hi, I have done the testing of the view layer. And what is peculiar is when i am hitting the ServletEngine for the first time, then it takes a lot of time, but subsequent hits take less time. Is it because the ActionServlet is not initiliazed, though I have started the engine? I would like to know if any recommended technique is given to improve the performance. Regards, Satya. On Thu, 18 Mar 2004 Vic Cekvenich wrote : Unit test the performance
RE: Re: Performance Improvement :: Struts based applications
If you build your war file using ant then you can use jasper (see org.apache.jasper.JspC) to precompile your jsps. This is useful if you are deploying your app to a live user environment and dont want the initial compile time to impact any users experience. On top of that you could use tomcat/apache mods to compress requests etc. If you are serious about needing bigger performance boosts, then look at partial/full caching. i.e store in server ram/disk the static or infrequently changing parts of your application (jsp or java objects), or have a small cache period on dynamic but less frequently updated parts of your application. There are a few companies that ply these out of the box caching solutions on companies now for extortionate cost (naming no names) but there are a few excellent open source contenders. The best of the open source solutions I have used is this one : http://wiki.opensymphony.com/space/OSCache (It does tie you in to using HttpSession unfortunately, but with a few lines of code you can easily work around this). It is a shame that this project http://www.jcp.org/en/jsr/detail?id=128 is not in progress, anyone on this list working on it ? ;) cheers Chris McCormack -Original Message- From: Axel Groß [mailto:[EMAIL PROTECTED] Sent: 18 March 2004 14:43 To: Struts Users Mailing List Cc: [EMAIL PROTECTED] Subject: Re: Re: Performace Improvement :: Struts based applications some IDEs also precompile the pages... axel On 2004-03-18 at 14:16:26 +0100, [EMAIL PROTECTED] wrote: The reason is jsps are not compiled when you hit the pages the first time.So the first call will always be slow as it alos has to compile jsps.The subsequent calls will use the compiled jsps and hence faster. Some server/ServletEngines have the option to precompile jsps. HTH. Regards, Shirish -Original Message- From: Satya Narayan Dash [mailto:[EMAIL PROTECTED] Sent: Thursday, March 18, 2004 2:13 PM To: Struts Users Mailing List Cc: Vic Cekvenich Subject: Re: Re: Performace Improvement :: Struts based applications Hi, I have done the testing of the view layer. And what is peculiar is when i am hitting the ServletEngine for the first time, then it takes a lot of time, but subsequent hits take less time. Is it because the ActionServlet is not initiliazed, though I have started the engine? I would like to know if any recommended technique is given to improve the performance. Regards, Satya. On Thu, 18 Mar 2004 Vic Cekvenich wrote : Unit test the performance of the model layer. .V Satya Narayan Dash wrote: Hi, I am in the process of improving a struts based application. I am using the cache taglib (from apache) and have written some filters to improve the performace. I am using Apache2 as the web-sever and Tomcat4 as the servelt/jsp engine. I have optimized them both. But the peformance improvement is not substantial. Can you please give me some tips to improve the performance ? Need your help, Regards, Satya. - 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] *** This e-mail and its attachments are confidential and are intended for the above named recipient only. If this has come to you in error, please notify the sender immediately and delete this e-mail from your system. You must take no action based on this, nor must you copy or disclose it or any part of its contents to any person or organisation. Statements and opinions contained in this email may not necessarily represent those of Littlewoods. Please note that e-mail communications may be monitored. The registered office of Littlewoods Limited and its subsidiaries is 100 Old Hall Street, Liverpool, L70 1AB. Registered number of Littlewoods Limited is 262152. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: RE: Re: Performance Improvement :: Struts based applications
Chris, I have precompiled JSP files. So i do not think that is a problem. Rather I feel it is ActionServlet which is taking time to intialize on first startup. Yes, I tries to use the cache mechanism of Apache (in windows), like mod_cache, mod_file_cache, mod_mem_cache and mod_disk_cache. But could not see much improvement. But no cache mechanism in Tomcat.Or are you talking of something else? Apache provides cache taglibs for the JSPs. Do you recommend to use that?? The site that you have mentioned http://wiki.opensymphony.com/space/OSCache, I have been to there, but that is a commercial one. I want a freeware. Can you give me some reference? Regards, Satya. that On Thu, 18 Mar 2004 McCormack, Chris wrote : If you build your war file using ant then you can use jasper (see org.apache.jasper.JspC) to precompile your jsps. This is useful if you are deploying your app to a live user environment and dont want the initial compile time to impact any users experience. On top of that you could use tomcat/apache mods to compress requests etc. If you are serious about needing bigger performance boosts, then look at partial/full caching. i.e store in server ram/disk the static or infrequently changing parts of your application (jsp or java objects), or have a small cache period on dynamic but less frequently updated parts of your application. There are a few companies that ply these out of the box caching solutions on companies now for extortionate cost (naming no names) but there are a few excellent open source contenders. The best of the open source solutions I have used is this one : http://wiki.opensymphony.com/space/OSCache (It does tie you in to using HttpSession unfortunately, but with a few lines of code you can easily work around this). It is a shame that this project http://www.jcp.org/en/jsr/detail?id=128 is not in progress, anyone on this list working on it ? ;) cheers Chris McCormack -Original Message- From: Axel Groß [mailto:[EMAIL PROTECTED] Sent: 18 March 2004 14:43 To: Struts Users Mailing List Cc: [EMAIL PROTECTED] Subject: Re: Re: Performace Improvement :: Struts based applications some IDEs also precompile the pages... axel On 2004-03-18 at 14:16:26 +0100, [EMAIL PROTECTED] wrote: The reason is jsps are not compiled when you hit the pages the first time.So the first call will always be slow as it alos has to compile jsps.The subsequent calls will use the compiled jsps and hence faster. Some server/ServletEngines have the option to precompile jsps. HTH. Regards, Shirish -Original Message- From: Satya Narayan Dash [mailto:[EMAIL PROTECTED] Sent: Thursday, March 18, 2004 2:13 PM To: Struts Users Mailing List Cc: Vic Cekvenich Subject: Re: Re: Performace Improvement :: Struts based applications Hi, I have done the testing of the view layer. And what is peculiar is when i am hitting the ServletEngine for the first time, then it takes a lot of time, but subsequent hits take less time. Is it because the ActionServlet is not initiliazed, though I have started the engine? I would like to know if any recommended technique is given to improve the performance. Regards, Satya. On Thu, 18 Mar 2004 Vic Cekvenich wrote : Unit test the performance of the model layer. .V Satya Narayan Dash wrote: Hi, I am in the process of improving a struts based application. I am using the cache taglib (from apache) and have written some filters to improve the performace. I am using Apache2 as the web-sever and Tomcat4 as the servelt/jsp engine. I have optimized them both. But the peformance improvement is not substantial. Can you please give me some tips to improve the performance ? Need your help, Regards, Satya. - 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] *** This e-mail and its attachments are confidential and are intended for the above named recipient only. If this has come to you in error, please notify the sender immediately and delete this e-mail from your system. You must take no action based on this, nor must you copy or disclose it or any part of its contents to any person or organisation. Statements and opinions contained in this email may not necessarily represent those of Littlewoods. Please note that e-mail communications may be monitored. The registered office of Littlewoods Limited and its subsidiaries is 100 Old Hall Street, Liverpool,
Re: RE: Re: Performance Improvement :: Struts based applications
What's your logging level set to? We recently did a late roll-in of log4j to our app and discovered that when we set logging level to debug, the initial struts/tiles initialization process takes forever (5 mins) and generates thousands of lines of debug statements as the various config files get parsed. [EMAIL PROTECTED] 3/18/2004 3:19:19 PM Chris, I have precompiled JSP files. So i do not think that is a problem. Rather I feel it is ActionServlet which is taking time to intialize on first startup. Yes, I tries to use the cache mechanism of Apache (in windows), like mod_cache, mod_file_cache, mod_mem_cache and mod_disk_cache. But could not see much improvement. But no cache mechanism in Tomcat.Or are you talking of something else? Apache provides cache taglibs for the JSPs. Do you recommend to use that?? The site that you have mentioned http://wiki.opensymphony.com/space/OSCache, I have been to there, but that is a commercial one. I want a freeware. Can you give me some reference? Regards, Satya. that On Thu, 18 Mar 2004 McCormack, Chris wrote : If you build your war file using ant then you can use jasper (see org.apache.jasper.JspC) to precompile your jsps. This is useful if you are deploying your app to a live user environment and dont want the initial compile time to impact any users experience. On top of that you could use tomcat/apache mods to compress requests etc. If you are serious about needing bigger performance boosts, then look at partial/full caching. i.e store in server ram/disk the static or infrequently changing parts of your application (jsp or java objects), or have a small cache period on dynamic but less frequently updated parts of your application. There are a few companies that ply these out of the box caching solutions on companies now for extortionate cost (naming no names) but there are a few excellent open source contenders. The best of the open source solutions I have used is this one : http://wiki.opensymphony.com/space/OSCache (It does tie you in to using HttpSession unfortunately, but with a few lines of code you can easily work around this). It is a shame that this project http://www.jcp.org/en/jsr/detail?id=128 is not in progress, anyone on this list working on it ? ;) cheers Chris McCormack -Original Message- From: Axel Groß [mailto:[EMAIL PROTECTED] Sent: 18 March 2004 14:43 To: Struts Users Mailing List Cc: [EMAIL PROTECTED] Subject: Re: Re: Performace Improvement :: Struts based applications some IDEs also precompile the pages... axel On 2004-03-18 at 14:16:26 +0100, [EMAIL PROTECTED] wrote: The reason is jsps are not compiled when you hit the pages the first time.So the first call will always be slow as it alos has to compile jsps.The subsequent calls will use the compiled jsps and hence faster. Some server/ServletEngines have the option to precompile jsps. HTH. Regards, Shirish -Original Message- From: Satya Narayan Dash [mailto:[EMAIL PROTECTED] Sent: Thursday, March 18, 2004 2:13 PM To: Struts Users Mailing List Cc: Vic Cekvenich Subject: Re: Re: Performace Improvement :: Struts based applications Hi, I have done the testing of the view layer. And what is peculiar is when i am hitting the ServletEngine for the first time, then it takes a lot of time, but subsequent hits take less time. Is it because the ActionServlet is not initiliazed, though I have started the engine? I would like to know if any recommended technique is given to improve the performance. Regards, Satya. On Thu, 18 Mar 2004 Vic Cekvenich wrote : Unit test the performance of the model layer. .V Satya Narayan Dash wrote: Hi, I am in the process of improving a struts based application. I am using the cache taglib (from apache) and have written some filters to improve the performace. I am using Apache2 as the web-sever and Tomcat4 as the servelt/jsp engine. I have optimized them both. But the peformance improvement is not substantial. Can you please give me some tips to improve the performance ? Need your help, Regards, Satya. - 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] *** This e-mail and its attachments are confidential and are intended for the above named recipient only. If this has come to you in error, please notify the sender immediately and delete this e-mail from your system. You must take no action based
Re: Re: RE: Re: Performance Improvement :: Struts based applications
I have set to to 0 (init parameter for ActionServlet) and for Tomcat (debug = 0), Apache(servertoken = prod) and (jk logs = info). Do you recommend to use validate and valdating init parameters for ActionServlet. Satya On Fri, 19 Mar 2004 Scott Piker wrote : What's your logging level set to? We recently did a late roll-in of log4j to our app and discovered that when we set logging level to debug, the initial struts/tiles initialization process takes forever (5 mins) and generates thousands of lines of debug statements as the various config files get parsed. [EMAIL PROTECTED] 3/18/2004 3:19:19 PM Chris, I have precompiled JSP files. So i do not think that is a problem. Rather I feel it is ActionServlet which is taking time to intialize on first startup. Yes, I tries to use the cache mechanism of Apache (in windows), like mod_cache, mod_file_cache, mod_mem_cache and mod_disk_cache. But could not see much improvement. But no cache mechanism in Tomcat.Or are you talking of something else? Apache provides cache taglibs for the JSPs. Do you recommend to use that?? The site that you have mentioned http://wiki.opensymphony.com/space/OSCache, I have been to there, but that is a commercial one. I want a freeware. Can you give me some reference? Regards, Satya. that On Thu, 18 Mar 2004 McCormack, Chris wrote : If you build your war file using ant then you can use jasper (see org.apache.jasper.JspC) to precompile your jsps. This is useful if you are deploying your app to a live user environment and dont want the initial compile time to impact any users experience. On top of that you could use tomcat/apache mods to compress requests etc. If you are serious about needing bigger performance boosts, then look at partial/full caching. i.e store in server ram/disk the static or infrequently changing parts of your application (jsp or java objects), or have a small cache period on dynamic but less frequently updated parts of your application. There are a few companies that ply these out of the box caching solutions on companies now for extortionate cost (naming no names) but there are a few excellent open source contenders. The best of the open source solutions I have used is this one : http://wiki.opensymphony.com/space/OSCache (It does tie you in to using HttpSession unfortunately, but with a few lines of code you can easily work around this). It is a shame that this project http://www.jcp.org/en/jsr/detail?id=128 is not in progress, anyone on this list working on it ? ;) cheers Chris McCormack -Original Message- From: Axel Groß [mailto:[EMAIL PROTECTED] Sent: 18 March 2004 14:43 To: Struts Users Mailing List Cc: [EMAIL PROTECTED] Subject: Re: Re: Performace Improvement :: Struts based applications some IDEs also precompile the pages... axel On 2004-03-18 at 14:16:26 +0100, [EMAIL PROTECTED] wrote: The reason is jsps are not compiled when you hit the pages the first time.So the first call will always be slow as it alos has to compile jsps.The subsequent calls will use the compiled jsps and hence faster. Some server/ServletEngines have the option to precompile jsps. HTH. Regards, Shirish -Original Message- From: Satya Narayan Dash [mailto:[EMAIL PROTECTED] Sent: Thursday, March 18, 2004 2:13 PM To: Struts Users Mailing List Cc: Vic Cekvenich Subject: Re: Re: Performace Improvement :: Struts based applications Hi, I have done the testing of the view layer. And what is peculiar is when i am hitting the ServletEngine for the first time, then it takes a lot of time, but subsequent hits take less time. Is it because the ActionServlet is not initiliazed, though I have started the engine? I would like to know if any recommended technique is given to improve the performance. Regards, Satya. On Thu, 18 Mar 2004 Vic Cekvenich wrote : Unit test the performance of the model layer. .V Satya Narayan Dash wrote: Hi, I am in the process of improving a struts based application. I am using the cache taglib (from apache) and have written some filters to improve the performace. I am using Apache2 as the web-sever and Tomcat4 as the servelt/jsp engine. I have optimized them both. But the peformance improvement is not substantial. Can you please give me some tips to improve the performance ? Need your help, Regards, Satya. - 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:
TMC Petshop, java performance tuning, struts
I have recently read the results paper from the second benchmark test run by The Middleware Company (TMC) comparing the performance of the Petshop application using Java solution and .NET solutions. (http://www.middleware-company.com/casestudy/tmc-performance-study-jul-2003.pdf) This paper would be very useful I believe to anyone who is interested in fine tuning the performance of their application and server. IMO the results paper seems to suggest that Java solutions can be just as fast as .NET solutions but that some Java solutions can be much much worse. In particular, a java solution using struts is unlikely to perform as well as a solution that does not use some form of introspection (as struts does to populate beans from forms). I have several questions regarding these conclusions. 1. Are they accurate based on the evidence presented in the study 2. Does anyone know the identities of the two java servers used in the study 3. In using struts does the productivity gains outway the performance cost and can this performance cost be adequately mitigated by upgrading hardware. 4. Have any similar tests been run in which the Java servers are run on Unix platforms instead of Windows Server 2003. 5. Has anyone performing tests on their own struts apps found similar results concerning the high costs of the introspection process. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: TMC Petshop, java performance tuning, struts
On Fri, 5 Sep 2003, tum curtin wrote: Date: Fri, 05 Sep 2003 08:59:01 -0400 From: tum curtin [EMAIL PROTECTED] Reply-To: Struts Users Mailing List [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: TMC Petshop, java performance tuning, struts I have recently read the results paper from the second benchmark test run by The Middleware Company (TMC) comparing the performance of the Petshop application using Java solution and .NET solutions. (http://www.middleware-company.com/casestudy/tmc-performance-study-jul-2003.pdf) This paper would be very useful I believe to anyone who is interested in fine tuning the performance of their application and server. IMO the results paper seems to suggest that Java solutions can be just as fast as .NET solutions but that some Java solutions can be much much worse. In particular, a java solution using struts is unlikely to perform as well as a solution that does not use some form of introspection (as struts does to populate beans from forms). I have several questions regarding these conclusions. 1. Are they accurate based on the evidence presented in the study I would presume they are accurately measured (have no way to verify), but the key to understanding this test is the description of the testing scenario. They spent a LOT of time tuning things so that the database and network were not bottlenecks; the goal being to measure the CPU time in the middle tier. While that's interesting, how often is it relevant in the real world, where database and network latencies are the normal bottlenecks to response time? 2. Does anyone know the identities of the two java servers used in the study Anybody who authoritatively answers that question is in big time trouble because it would break NDA agreements :-). 3. In using struts does the productivity gains outway the performance cost and can this performance cost be adequately mitigated by upgrading hardware. For the first part of this question, you need to determine if it even matters in your particular app. For the second part, it's mitigated by adding more/faster CPUs. 4. Have any similar tests been run in which the Java servers are run on Unix platforms instead of Windows Server 2003. I did some microbenchmarks on the commons-beanutils code that is in turn used by Struts -- see the message archives for the [EMAIL PROTECTED] mailing list and search for microbenchmarks. A couple of things my tests showed were pretty interesting: * When using BeanUtils.copyProperties() or PropertyUtils.copyProperties(), using a DynaActionForm (which uses a HashMap but no reflection) is actually faster than using standard ActionForm beans. * The BeanUtils.populate() method -- which is expressly tuned to deal with copying request attributes into your form bean -- is substantially faster than BeanUtils.copyProperties() is. * As expected, recent JVMs are substantially faster than earlier ones at reflection-based processing. 5. Has anyone performing tests on their own struts apps found similar results concerning the high costs of the introspection process. It can only possibly matter if CPU time on your middle tier server (the one running your webapps) is your response time bottleneck. Is it for you? If so, then this matters. If not, then it probably doesn't. IMHO, the most important single issue for performance of Struts based apps is the quality of your JSP page compiler. Just as an example, the Tomcat admin app is Struts based, and the difference between running it against an early 4.0.x version versus current 4.1.x or 5.0.x versions is night and day -- six times to eight times faster, and visibly more responsive even in a single user environment. If you're looking for performance improvements, in general you should focus on: * JDK you're running * JSP page compiler * Servlet container you're running * Database tuning * Network tuning before getting to the minutiae of CPU time comparisons for things like reflection. Craig McClanahan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Testing the performance of Struts
Chaps I have developed a BIG Struts app, and want to test load, performance blah blah blah... while users are all playing nicely at the same time. What's a good tool to use? Regards Jason Meredith *** The e-mail and any attachments are confidential. They may contain privileged information and are intended for the named addressee(s) only. If you are not the intended recipient, please notify us immediately and do not disclose, distribute, or retain this e-mail or any part of it. Unless expressly stated, opinions in this e-mail are those of the individual sender and not of the FIMAT Group. We believe but do not warrant that this e-mail and any attachments are virus free. You must therefore take full responsibility for virus checking. The FIMAT Group reserve the right to monitor e-mail communications through its networks. Where this communication constitutes a financial promotion it is issued and approved by Fimat International Banque S.A. (UK Branch) and is only intended for persons of a kind described in article 19(5) of the Financial Services and Markets Act 2000 (Financial Promotion) Order 2001. This information is not intended to be distributed to UK Private Customers (as defined by the Financial Services Authority). Fimat International Banque S.A. (UK Branch) whose registered branch in England is at SG House, 41 Tower Hill, London EC3N 4SG is authorised by the Commission Bancaire in France and by the UK Financial Services Authority; regulated by the Financial Services Authority for the conduct of UK Business and is entered in the Financial Services Authority's register (Register Number 183415), access to which can be gained via the following link: www.fsa.gov.uk/register/ Member and a SETS Participant of the London Stock Exchange (LSE). Where this communication is confirming an on exchange transaction (as defined by the LSE),the transaction is subject to the rules of the LSE. Any information, opinions, estimates and forecasts contained in this document have been arrived at or obtained from public sources believed to be reliable and in good faith which has not been independently verified and no warranty, express or implied, is made as to their accuracy, completeness or correctness. This document is not an offer to sell or a solicitation to acquire or dispose of an interest in financial instruments. If you have received this transmission in error, please telephone +44 020 7676 8999 immediately so that we can arrange for its return. *** - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Performance of struts
On Fri, 23 Mar 2001, Tom Miller wrote: Regarding the relative inefficiencies of Jasper-produced Java classes: ---8--- "Craig R. McClanahan" wrote: for example, reusing tag instances intelligently would be of great benefit to a Struts-based application. ---8--- Is this the reason that the logic:iterate in my JSP form takes so long to show 20-30 rows of bean:writes? (e.g. 6-10 seconds w/Tomcat 3.2.1 on a 400Mhz Windows box). This is not totally intolerable, it is just that this is the slowest part of my Struts application, and I'm naturally looking for optimizations. It is a pretty important piece of this, although 6-10 seconds seems excessive (unless it includes database lookup time). For those interested in looking further, you might try telling Tomcat not to delete the Java sources for the servlets it generates for your JSP pages and take a look. TIA Tom Miller Craig McClanahan
Re: Performance of struts
- Original Message - From: "Craig R. McClanahan" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, March 23, 2001 9:25 AM Subject: Re: Performance of struts For those interested in looking further, you might try telling Tomcat not to delete the Java sources for the servlets it generates for your JSP pages and take a look. How do you tell tomcat to remove the Java sources? With the stock distribution, I keep ending up with lots of old servlet .java files during development phases. Payam Mirrashidi [EMAIL PROTECTED]
Re: Performance of struts
Jasper doesn't generate bytecode, it generates java code (i.e. myjsp-generatedservlet.java). A regular java compiler is then used to compile that into bytecode. The issue with Jasper, from what Craig was saying, is that it's a very brute-force generation of the java servlet code. It doesn't do anything to recognize multiply generated tags, etc. It just creates one big long service method which results in slow JSP execution time. Donnie [EMAIL PROTECTED] 03/22/01 09:44AM If Jasper is generating some inefficient code, would Jikes help? - Original Message - From: "James Cook" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, March 21, 2001 8:55 AM Subject: RE: Performance of struts I find the 240ms delay satisfactory for most of my apps because the business side logic usually takes longer to execute. I applaud WebLogic however for their timings. Especially (IIRC) since WebLogic is supposed to be 100% Java. I know that some other servers that churn JSP very well are hybrids. It would be interesting to look at the Jasper-generated source and see where optimizations can be done. jim -Original Message- From: Jeff Schnitzer [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 11:24 PM To: [EMAIL PROTECTED] Subject: RE: Performance of struts Struts should suffer the same performance issues as WebWork. There are a handful of benchmarks here: http://sourceforge.net/docman/display_doc.php?docid=2243group_id=14797# Na96 The relative performance on a tag-heavy benchmark: Tomcat 3.2: ~380 milliseconds JRun 3.0: ~350 milliseconds Resin 1.2.1: ~250 milliseconds Orion 1.3.8: ~220 milliseconds WebLogic Server 6.0: ~140 milliseconds Jeff -Original Message- From: Eric Brown [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 7:58 PM To: '[EMAIL PROTECTED]' Subject: RE: Performance of struts I haven't done any comparisons recently, but I think Resin from www.caucho.com is very reasonably priced and written specifically with performance in mind (from what I can tell). I've written a Java based http proxy server before and I can tell you that from looking at some of the things Resin has done, they know where Java's performance bottlenecks are. (For example, they translate all socket streams into byte arrays instead of using strings, etc.) They have some performance comparisons on their web site. Others are: Orion - Know nothing about BEA WebLogic - Very expensive, complex to deploy and performance is mediocre according to my sources ATG Dynamo - Expensive but good for commerce if needed. They are focused on commerce, so probably not focused on performance. Netscape/iPlanet - I've heard the performance is not impressive IBM WebSphere - This is an up-and-coming competitor to WebLogic and ATG. It used to be buggy and is still expensive. Performance is unknown, but I would favor Resin as it comes with source and is less expensive. Jrun - Priced reasonably. Nice integration with other Allaire products. No special commerce features. I think it has had some compatibility problems, but it seems a good engine these days. All the same, I don't think you can get source and I haven't done performance tests. Enhydra - This is just Tomcat. They have their own framework that is less comprehensive than struts called XMLC. Its big advantage is that it does a better job of separating UI from code. I think to some degree, it is equally important to look at the JVM you are running on. Consider looking at the Volano report at http://www.volano.com/report.html. My team is using Tomcat/Forte for development and will use Resin/Apache for deployment. Eric -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 2:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
Re: Performance of struts
On Thu, 22 Mar 2001, Mark Balster wrote: If Jasper is generating some inefficient code, would Jikes help? Not really. The code generated for your page will still do more stuff than it needs to ... but it will compile faster :-). What matters the most is what kinds of optimizations the page compiler does when generating the Java source for the corresponding servlet -- for example, reusing tag instances intelligently would be of great benefit to a Struts-based application. Craig - Original Message - From: "James Cook" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, March 21, 2001 8:55 AM Subject: RE: Performance of struts I find the 240ms delay satisfactory for most of my apps because the business side logic usually takes longer to execute. I applaud WebLogic however for their timings. Especially (IIRC) since WebLogic is supposed to be 100% Java. I know that some other servers that churn JSP very well are hybrids. It would be interesting to look at the Jasper-generated source and see where optimizations can be done. jim -Original Message- From: Jeff Schnitzer [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 11:24 PM To: [EMAIL PROTECTED] Subject: RE: Performance of struts Struts should suffer the same performance issues as WebWork. There are a handful of benchmarks here: http://sourceforge.net/docman/display_doc.php?docid=2243group_id=14797# Na96 The relative performance on a tag-heavy benchmark: Tomcat 3.2: ~380 milliseconds JRun 3.0: ~350 milliseconds Resin 1.2.1: ~250 milliseconds Orion 1.3.8: ~220 milliseconds WebLogic Server 6.0: ~140 milliseconds Jeff -Original Message- From: Eric Brown [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 7:58 PM To: '[EMAIL PROTECTED]' Subject: RE: Performance of struts I haven't done any comparisons recently, but I think Resin from www.caucho.com is very reasonably priced and written specifically with performance in mind (from what I can tell). I've written a Java based http proxy server before and I can tell you that from looking at some of the things Resin has done, they know where Java's performance bottlenecks are. (For example, they translate all socket streams into byte arrays instead of using strings, etc.) They have some performance comparisons on their web site. Others are: Orion - Know nothing about BEA WebLogic - Very expensive, complex to deploy and performance is mediocre according to my sources ATG Dynamo - Expensive but good for commerce if needed. They are focused on commerce, so probably not focused on performance. Netscape/iPlanet - I've heard the performance is not impressive IBM WebSphere - This is an up-and-coming competitor to WebLogic and ATG. It used to be buggy and is still expensive. Performance is unknown, but I would favor Resin as it comes with source and is less expensive. Jrun - Priced reasonably. Nice integration with other Allaire products. No special commerce features. I think it has had some compatibility problems, but it seems a good engine these days. All the same, I don't think you can get source and I haven't done performance tests. Enhydra - This is just Tomcat. They have their own framework that is less comprehensive than struts called XMLC. Its big advantage is that it does a better job of separating UI from code. I think to some degree, it is equally important to look at the JVM you are running on. Consider looking at the Volano report at http://www.volano.com/report.html. My team is using Tomcat/Forte for development and will use Resin/Apache for deployment. Eric -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 2:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
Re: Performance of struts
On Thu, 22 Mar 2001, DONNIE HALE wrote: Jasper doesn't generate bytecode, it generates java code (i.e. myjsp-generatedservlet.java). A regular java compiler is then used to compile that into bytecode. The issue with Jasper, from what Craig was saying, is that it's a very brute-force generation of the java servlet code. It doesn't do anything to recognize multiply generated tags, etc. It just creates one big long service method which results in slow JSP execution time. And, as others have pointed out, "slow" is really a relative term. In many cases, it will be perfectly adequate for your needs on the right hardware. If not, then you've got a choice of other platforms to evaluate. One of the nicer things about Java in general ... Donnie Craig [EMAIL PROTECTED] 03/22/01 09:44AM If Jasper is generating some inefficient code, would Jikes help? - Original Message - From: "James Cook" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, March 21, 2001 8:55 AM Subject: RE: Performance of struts I find the 240ms delay satisfactory for most of my apps because the business side logic usually takes longer to execute. I applaud WebLogic however for their timings. Especially (IIRC) since WebLogic is supposed to be 100% Java. I know that some other servers that churn JSP very well are hybrids. It would be interesting to look at the Jasper-generated source and see where optimizations can be done. jim -Original Message- From: Jeff Schnitzer [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 11:24 PM To: [EMAIL PROTECTED] Subject: RE: Performance of struts Struts should suffer the same performance issues as WebWork. There are a handful of benchmarks here: http://sourceforge.net/docman/display_doc.php?docid=2243group_id=14797# Na96 The relative performance on a tag-heavy benchmark: Tomcat 3.2: ~380 milliseconds JRun 3.0: ~350 milliseconds Resin 1.2.1: ~250 milliseconds Orion 1.3.8: ~220 milliseconds WebLogic Server 6.0: ~140 milliseconds Jeff -Original Message- From: Eric Brown [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 7:58 PM To: '[EMAIL PROTECTED]' Subject: RE: Performance of struts I haven't done any comparisons recently, but I think Resin from www.caucho.com is very reasonably priced and written specifically with performance in mind (from what I can tell). I've written a Java based http proxy server before and I can tell you that from looking at some of the things Resin has done, they know where Java's performance bottlenecks are. (For example, they translate all socket streams into byte arrays instead of using strings, etc.) They have some performance comparisons on their web site. Others are: Orion - Know nothing about BEA WebLogic - Very expensive, complex to deploy and performance is mediocre according to my sources ATG Dynamo - Expensive but good for commerce if needed. They are focused on commerce, so probably not focused on performance. Netscape/iPlanet - I've heard the performance is not impressive IBM WebSphere - This is an up-and-coming competitor to WebLogic and ATG. It used to be buggy and is still expensive. Performance is unknown, but I would favor Resin as it comes with source and is less expensive. Jrun - Priced reasonably. Nice integration with other Allaire products. No special commerce features. I think it has had some compatibility problems, but it seems a good engine these days. All the same, I don't think you can get source and I haven't done performance tests. Enhydra - This is just Tomcat. They have their own framework that is less comprehensive than struts called XMLC. Its big advantage is that it does a better job of separating UI from code. I think to some degree, it is equally important to look at the JVM you are running on. Consider looking at the Volano report at http://www.volano.com/report.html. My team is using Tomcat/Forte for development and will use Resin/Apache for deployment. Eric -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 2:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan
Re: Performance of struts
You have forgoten www.jboss.org an open source ejb container, it is release with tomcat. Eric Brown a crit : I haven't done any comparisons recently, but I think Resin from www.caucho.com is very reasonably priced and written specifically with performance in mind (from what I can tell). I've written a Java based http proxy server before and I can tell you that from looking at some of the things Resin has done, they know where Java's performance bottlenecks are. (For example, they translate all socket streams into byte arrays instead of using strings, etc.) They have some performance comparisons on their web site. Others are: Orion - Know nothing about BEA WebLogic - Very expensive, complex to deploy and performance is mediocre according to my sources ATG Dynamo - Expensive but good for commerce if needed. They are focused on commerce, so probably not focused on performance. Netscape/iPlanet - I've heard the performance is not impressive IBM WebSphere - This is an up-and-coming competitor to WebLogic and ATG. It used to be buggy and is still expensive. Performance is unknown, but I would favor Resin as it comes with source and is less expensive. Jrun - Priced reasonably. Nice integration with other Allaire products. No special commerce features. I think it has had some compatibility problems, but it seems a good engine these days. All the same, I don't think you can get source and I haven't done performance tests. Enhydra - This is just Tomcat. They have their own framework that is less comprehensive than struts called XMLC. Its big advantage is that it does a better job of separating UI from code. I think to some degree, it is equally important to look at the JVM you are running on. Consider looking at the Volano report at http://www.volano.com/report.html. My team is using Tomcat/Forte for development and will use Resin/Apache for deployment. Eric -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 2:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
Performance of struts
Hi, I am sorry if I offend anyone. I am evaluating struts and notice that the performance is much lower that if I use string jsp and servlets. Has anyone have the same experience as I do? If so, is there any way to improve the performance? Thanks! keith
Re: Performance of struts
I think, it will be slower because you have one central servlet DISPATCHER that is sending a "job" to different Actions. When you have some JSP that are sending "job" themselves to other JSP, it is faster. Is it convenient? I think - no, because a creator JSP does not know java. And change flow, redesign difficult. Now, I have this "pie". Maya Keith wrote: Hi, I am sorry if I offend anyone. I am evaluating struts and notice that the performance is much lower that if I use string jsp and servlets. Has anyone have the same experience as I do? If so, is there any way to improve the performance? Thanks! keith
RE: Performance of struts
Keith, Can you gives some benchmark details and sample code that you ran in your tests? --Abraham -Original Message- From: Keith [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 11:56 AM To: [EMAIL PROTECTED] Subject: Performance of struts Hi, I am sorry if I offend anyone. I am evaluating struts and notice that the performance is much lower that if I use string jsp and servlets. Has anyone have the same experience as I do? If so, is there any way to improve the performance? Thanks! keith
Re: Performance of struts
On Mon, 19 Mar 2001, Keith wrote: Hi, I am sorry if I offend anyone. I am evaluating struts and notice that the performance is much lower that if I use string jsp and servlets. Has anyone have the same experience as I do? If so, is there any way to improve the performance? Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan
Re: Performance of struts
On Mon, 19 Mar 2001, DONNIE HALE wrote: Craig, (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Could you elaborate on this, please? - is it awful for compiling, executing, both? I'm mostly concerned about the execution speed of the generated servlets. - is the generated servlet code the culprit since you don't say that servlet performance is bad? Yes. For example, Tomcat (more precisely, the Jasper component) does not currently recycle custom tag instances -- this is in the process of being addressed. Also, the code generator is very simplistic, does essentially no optimizations, and generates more code than it really needs to. This is not surprising, given Tomcat's heritage as being a "reference implementation" for the specs, rather than a high performance production environment. To the extent that people want to turn Tomcat into the latter, it will improve. - are there particular JSP elements that are particularly bad? Take a glance at the code that is generated for any custom tag, and you'll see what some of the issues are. - is this primarily directed at v3.2.1, or is it also true of v4.0b1? The Jasper in 4.0b1 is almost identical to the one in 3.2.1 right now, although improvements are being done on both of them. But Jasper really needs a fresh start, IMHO, to achieve substantial performance boosts. Thanks, Donnie Craig
Re: Performance of struts
If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
Re: Performance of struts
In my opinion the performance of Tomcat is pretty good. However most j2ee apps servers have very good performance including weblogic, iplanet, silverstream, etc. scott. --- James Howe [EMAIL PROTECTED] wrote: If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103 = ~~~ Scott __ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/
RE: Performance of struts
check orion out... (http://www.orionserver.com/) -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 3:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
RE: Performance of struts
Currently I'm using ServletExec-AS (with Apache) on Win98 and it seems pretty easy to use and relatively fast. It also has a nice admin interface for deploying and defining web apps. You can download it from http://www.servletexec.com/download.jsp. I don't think you have to enter any information. I believe the only limitation is that an un-registered version gives you up to 3 concurrent connections. I've also been able to get Cocoon running pretty easily which I have never been able to do with Tomcat. I don't have any real metrics to offer though. -Original Message- From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 3:11 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts On Mon, 19 Mar 2001, Keith wrote: Hi, I am sorry if I offend anyone. I am evaluating struts and notice that the performance is much lower that if I use string jsp and servlets. Has anyone have the same experience as I do? If so, is there any way to improve the performance? Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan
RE: Performance of struts
I haven't done any comparisons recently, but I think Resin from www.caucho.com is very reasonably priced and written specifically with performance in mind (from what I can tell). I've written a Java based http proxy server before and I can tell you that from looking at some of the things Resin has done, they know where Java's performance bottlenecks are. (For example, they translate all socket streams into byte arrays instead of using strings, etc.) They have some performance comparisons on their web site. Others are: Orion - Know nothing about BEA WebLogic - Very expensive, complex to deploy and performance is mediocre according to my sources ATG Dynamo - Expensive but good for commerce if needed. They are focused on commerce, so probably not focused on performance. Netscape/iPlanet - I've heard the performance is not impressive IBM WebSphere - This is an up-and-coming competitor to WebLogic and ATG. It used to be buggy and is still expensive. Performance is unknown, but I would favor Resin as it comes with source and is less expensive. Jrun - Priced reasonably. Nice integration with other Allaire products. No special commerce features. I think it has had some compatibility problems, but it seems a good engine these days. All the same, I don't think you can get source and I haven't done performance tests. Enhydra - This is just Tomcat. They have their own framework that is less comprehensive than struts called XMLC. Its big advantage is that it does a better job of separating UI from code. I think to some degree, it is equally important to look at the JVM you are running on. Consider looking at the Volano report at http://www.volano.com/report.html. My team is using Tomcat/Forte for development and will use Resin/Apache for deployment. Eric -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 2:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
RE: Performance of struts
Struts should suffer the same performance issues as WebWork. There are a handful of benchmarks here: http://sourceforge.net/docman/display_doc.php?docid=2243group_id=14797# Na96 The relative performance on a tag-heavy benchmark: Tomcat 3.2: ~380 milliseconds JRun 3.0: ~350 milliseconds Resin 1.2.1: ~250 milliseconds Orion 1.3.8: ~220 milliseconds WebLogic Server 6.0: ~140 milliseconds Jeff -Original Message- From: Eric Brown [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 7:58 PM To: '[EMAIL PROTECTED]' Subject: RE: Performance of struts I haven't done any comparisons recently, but I think Resin from www.caucho.com is very reasonably priced and written specifically with performance in mind (from what I can tell). I've written a Java based http proxy server before and I can tell you that from looking at some of the things Resin has done, they know where Java's performance bottlenecks are. (For example, they translate all socket streams into byte arrays instead of using strings, etc.) They have some performance comparisons on their web site. Others are: Orion - Know nothing about BEA WebLogic - Very expensive, complex to deploy and performance is mediocre according to my sources ATG Dynamo - Expensive but good for commerce if needed. They are focused on commerce, so probably not focused on performance. Netscape/iPlanet - I've heard the performance is not impressive IBM WebSphere - This is an up-and-coming competitor to WebLogic and ATG. It used to be buggy and is still expensive. Performance is unknown, but I would favor Resin as it comes with source and is less expensive. Jrun - Priced reasonably. Nice integration with other Allaire products. No special commerce features. I think it has had some compatibility problems, but it seems a good engine these days. All the same, I don't think you can get source and I haven't done performance tests. Enhydra - This is just Tomcat. They have their own framework that is less comprehensive than struts called XMLC. Its big advantage is that it does a better job of separating UI from code. I think to some degree, it is equally important to look at the JVM you are running on. Consider looking at the Volano report at http://www.volano.com/report.html. My team is using Tomcat/Forte for development and will use Resin/Apache for deployment. Eric -Original Message- From: James Howe [mailto:[EMAIL PROTECTED]] Sent: Monday, March 19, 2001 2:16 PM To: [EMAIL PROTECTED] Subject: Re: Performance of struts If Tomcat's performance is pretty awful, what are some JSP implementations (commercial or otherwise) that are particularly good? At 12:10 PM 3/19/2001 -0800, you wrote: Struts based apps (or any app that uses custom tags heavily) are going to be significantly impacted by the quality of the JSP implementation in your container. Which version are you using? (NOTE: Tomcat's performance w.r.t. JSP pages is pretty awful, for example). Thanks! keith Craig McClanahan James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103