RE: RE: Re: Performance Improvement :: Struts based applications

2004-03-19 Thread McCormack, Chris
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

2004-03-18 Thread McCormack, Chris
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

2004-03-18 Thread Satya Narayan Dash
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

2004-03-18 Thread Scott Piker
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

2004-03-18 Thread Satya Narayan Dash
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

2003-09-08 Thread tum curtin
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

2003-09-08 Thread Craig R. McClanahan
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

2003-06-09 Thread Jason Meredith

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

2001-03-23 Thread Craig R. McClanahan



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

2001-03-23 Thread Payam Mirrashidi


- 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

2001-03-22 Thread DONNIE HALE

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

2001-03-22 Thread Craig R. McClanahan



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

2001-03-22 Thread Craig R. McClanahan



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

2001-03-20 Thread Christophe Vigny

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

2001-03-19 Thread Keith

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

2001-03-19 Thread Maya Muchnik

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

2001-03-19 Thread Abraham Kang

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

2001-03-19 Thread Craig R. McClanahan



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

2001-03-19 Thread Craig R. McClanahan



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

2001-03-19 Thread James Howe

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

2001-03-19 Thread Scott Walter

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

2001-03-19 Thread Troy Hart

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

2001-03-19 Thread Robert Taylor

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

2001-03-19 Thread Eric Brown

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

2001-03-19 Thread Jeff Schnitzer

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