Re: Struts Performance - Any Benchmarks?

2003-05-30 Thread Kommana, Sridhar
 How Struts is better than Thinlets.Performance-wise which one is best?
 
 Thanks,
 Sridhar
 
 -Original Message-
 From: Ted Husted [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, May 28, 2003 4:59 AM
 To: Struts Users Mailing List
 Subject: Re: Struts Performance - Any Benchmarks?
 
 
 Craig R. McClanahan wrote:
 
The other evidence is that Struts gets many thousands of downloads every
single day ... and support for it is built in (or easily plugged in) to a
wide variety of popular application development tools ... SOMEBODY must
think it makes a pretty reasonable platform for building web applications.
:-)
 
 
 In other words, "You don't get fired for choosing S-T-R-U-T-S."
 
 :>
 
 -T.
 
 
 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Struts Performance - Any Benchmarks?

2003-05-30 Thread Sundar Narasimhan
>I now use dbMonster to generate lots of db data and DiselTest to stress 
>test. (linked on baseBeans.com downloads and cheat sheet pages)
Thanks for the pointers Vic.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Struts Performance - Any Benchmarks?

2003-05-30 Thread Vic Cekvenich
Testing is allways a good idea!
You can validate that the advice is correct, but testing save time in 
other ways, so do QA, regresion, unit test, etc.
I now use dbMonster to generate lots of db data and DiselTest to stress 
test. (linked on baseBeans.com downloads and cheat sheet pages)

As far as benchmarks I did, a PC class machine can do over a thousand 
concurent users sub second with Struts and a good db (pgSQL I use).
As server class machine can do about 2 thousand concruent users sub 
second. Ex:  NewiSys 2100.
In testing, you can find that Sun boxes are expensive and slow (also 
www.tpc.org rates fast machines).

One thing Struts helps you with in testing is that it is layerd MVC. So 
you can just test the speed of your Model only. Or all 3 layers.

Anyway, I have done Struts P&T (performance & tunning) and stored 
procedures is where it's at  mostly.

Good luck.

Sundar Narasimhan wrote:

I've been following this thread w/ interest. Thanks for all the posts.

 

Overall, it sounds like your team is likely to succumb to "premature
optimization" anti-patterns, and totally fail to understand what is really
important about web application design.  That's pretty tragic when it
happens, because it's totally needless -- most of the things your team is
stressing over are TOTALLY IRRELEVANT to the end user's perception of
performance of your application.  They are worried about the wrong things,
at the wrong time in the development cycle.
   

Craig -- I think that would be a bit premature. It has been my
experience that a lot of IT shops would like to know what kind of
hardware to buy etc. (i.e. down to the model number of the load
balancer). Personally speaking a lot of it is pre-mature (in fact I've
even had one IT manager proudly point out how he got a "fixed price
for 90 days" extension from a hardware manufacturer -- firmly
forgetting the fact that if you wait 90 days most such hardware will
go down in price :), but .. people need guidelines because the
lead-cycles organizationally on such architectural decisions tends to
be all over the map.  

 

One possible approach would be to build a prototype using Struts, and
exactly the same functionality using whatever design approach your team
thinks will work better.  It's pretty much a waste of effort, but some
people won't be convinced any other way.
   

I think it would be great if people could post their experiences
wrt. performance. i.e. at what point did splitting servers, more
advanced containers make sense etc.
Personally speaking, I'm going through a major struts based project
myself. Things seem to be working well so far, but I must admit that
now the load is going from the tens to the hundreds of simultaneous
users.. and the latency of some of the accesses are from far away
(separated by multiple routers) I'm wondering what our next steps
ought to be -- if customers start complaining :) Thus far we've been
able to get away with apache + tomcat instances.
(The critical piece of our application is one where users sort some
pretty large datasets.. which can also be modified by other
users.. right now the design reads the db. upon each significant
re-sort operation, but paging thru and editing is done entirely w/ the
data set cached in session).
Benchmarks to me are not only about tee-ing off against
alternatives. Benchmarks often tell me what combinations of
hardware/software people ended up using, and I often find that useful.
My $.02 cents.
 

--
Vic Cekvenich,
Struts Instructor,
1-800-917-JAVA
Advanced Struts Training and project recovery in North East. 
Open Source Content Management  basicPortal sofware
Best practiceStruts Support v.1.1 helper ScafflodingXPress




Re: Struts Performance - Any Benchmarks?

2003-05-28 Thread Sundar Narasimhan
I've been following this thread w/ interest. Thanks for all the posts.

>Overall, it sounds like your team is likely to succumb to "premature
>optimization" anti-patterns, and totally fail to understand what is really
>important about web application design.  That's pretty tragic when it
>happens, because it's totally needless -- most of the things your team is
>stressing over are TOTALLY IRRELEVANT to the end user's perception of
>performance of your application.  They are worried about the wrong things,
>at the wrong time in the development cycle.

Craig -- I think that would be a bit premature. It has been my
experience that a lot of IT shops would like to know what kind of
hardware to buy etc. (i.e. down to the model number of the load
balancer). Personally speaking a lot of it is pre-mature (in fact I've
even had one IT manager proudly point out how he got a "fixed price
for 90 days" extension from a hardware manufacturer -- firmly
forgetting the fact that if you wait 90 days most such hardware will
go down in price :), but .. people need guidelines because the
lead-cycles organizationally on such architectural decisions tends to
be all over the map.  

>One possible approach would be to build a prototype using Struts, and
>exactly the same functionality using whatever design approach your team
>thinks will work better.  It's pretty much a waste of effort, but some
>people won't be convinced any other way.

I think it would be great if people could post their experiences
wrt. performance. i.e. at what point did splitting servers, more
advanced containers make sense etc.

Personally speaking, I'm going through a major struts based project
myself. Things seem to be working well so far, but I must admit that
now the load is going from the tens to the hundreds of simultaneous
users.. and the latency of some of the accesses are from far away
(separated by multiple routers) I'm wondering what our next steps
ought to be -- if customers start complaining :) Thus far we've been
able to get away with apache + tomcat instances.

(The critical piece of our application is one where users sort some
pretty large datasets.. which can also be modified by other
users.. right now the design reads the db. upon each significant
re-sort operation, but paging thru and editing is done entirely w/ the
data set cached in session).

Benchmarks to me are not only about tee-ing off against
alternatives. Benchmarks often tell me what combinations of
hardware/software people ended up using, and I often find that useful.

My $.02 cents.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Struts Performance - Any Benchmarks?

2003-05-28 Thread Ted Husted
Craig R. McClanahan wrote:
The other evidence is that Struts gets many thousands of downloads every
single day ... and support for it is built in (or easily plugged in) to a
wide variety of popular application development tools ... SOMEBODY must
think it makes a pretty reasonable platform for building web applications.
:-)
In other words, "You don't get fired for choosing S-T-R-U-T-S."

:>

-T.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Struts Performance - Any Benchmarks?

2003-05-27 Thread Craig R. McClanahan


On Tue, 27 May 2003, Tin Pham wrote:

> Date: Tue, 27 May 2003 23:16:34 -0400
> From: Tin Pham <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: Re: Struts Performance - Any Benchmarks?
>
> Hi David, Craig,
>
> Thanks for your replies. I will forward them to my team.
>
> I made the same points about multi-threading verbally and following up with
> research and references for the team.
>
> They seem to be itching for benchmarks though, so I'll give it to them by
> building a single, then multi-servlet app and using Introscope with some
> load test simulators. I was hoping somebody in a situation such as myself
> already had done it.
>

That's pretty easy to deal with ... make THEM prove that single instances
are worse.  Where is THEIR evidence?  After all, THEY are the ones that
don't get it.

:-) :-)

> Now the next matter of opposition I'm getting is does struts work well in a
> distributed environment for example load balancing. I will post this a
> separate thread with what I have told them already.

That is almost totally an issue of what your servlet container provides in
terms of load balancing support.  Struts (or any other app level
framework) is going to be pretty much irrelevant to that kind of
discussion, because the load balancing support is basically transparent to
the application or to the framework.

Overall, it sounds like your team is likely to succumb to "premature
optimization" anti-patterns, and totally fail to understand what is really
important about web application design.  That's pretty tragic when it
happens, because it's totally needless -- most of the things your team is
stressing over are TOTALLY IRRELEVANT to the end user's perception of
performance of your application.  They are worried about the wrong things,
at the wrong time in the development cycle.

One possible approach would be to build a prototype using Struts, and
exactly the same functionality using whatever design approach your team
thinks will work better.  It's pretty much a waste of effort, but some
people won't be convinced any other way.

As for evidence that the approach Struts encourages makes sense, you've
got your pick of almost every J2EE-related design patterns book in
existence.  Any of them would be incredibly helpful to you, but one whose
binding on my copy is always breaking (because I have it open all the
time) is "Core J2EE Patterns" by Alur, Crupi, Malks et. al. (Prentice
Hall, 2001).  Besides finding out that Struts implements many of the
recommended web tier patterns, you'll also learn a lot of good stuff about
setting up the non-web-UI portions of your overall architecture.

The other evidence is that Struts gets many thousands of downloads every
single day ... and support for it is built in (or easily plugged in) to a
wide variety of popular application development tools ... SOMEBODY must
think it makes a pretty reasonable platform for building web applications.
:-)

Craig

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Struts Performance - Any Benchmarks?

2003-05-27 Thread David Graham
They seem to be itching for benchmarks though, so I'll give it to them by
building a single, then multi-servlet app and using Introscope with some
load test simulators. I was hoping somebody in a situation such as myself
already had done it.
It's a shame that you're required to do this because an explanation of how 
Java threading works should suffice.  Simply put, it doesn't matter how many 
servlet instances exist, it only matters how many threads are running 
through one instance at a time.

David

Now the next matter of opposition I'm getting is does struts work well in a
distributed environment for example load balancing. I will post this a
separate thread with what I have told them already.
"Craig R. McClanahan" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
>
> On Thu, 22 May 2003, Tin Pham wrote:
>
> > Date: Thu, 22 May 2003 00:09:09 -0400
> > From: Tin Pham <[EMAIL PROTECTED]>
> > Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: Struts Performance - Any Benchmarks?
> >
> > Hi, I have been scouring the internet with no results.
> >
> > Does anybody have any resources on the performance of Struts
applications.
> > Any
> > benchmarks versus standard development.
> >
> > One "bottle-neck" brought up by members of my team is the single 
action
> > servlet everything must pass through. Are there currently or going to 
be
> > programming solutions to this?
> >
>
> If your team believes that this issue is a bottleneck, then some 
training
> and a more complete understanding of how multithreading works in Java
> might be appropriate -- the fact that a single instance of the action
> servlet (and of the actions themselves) has zero impact on performance,
> and it reduces memory consumption of your app by avoiding useless extra
> copies.
>
> > For example, maybe we can have more than one action servlet and use a
> > different mapping.. ie, instead of *.do, *.jspx ? But then would 
global
> > forwards from the two different actions still work?
> >
>
> This won't work, but not for performance reasons -- Struts supports only 
a
> single mapping to the controller servlet, and only one controller 
servlet
> per webapp.
>
> > Personally, I argue that we should simply go to load balancing if it
comes
> > to
> > that and adding more servlets wouldn't do much anyway. From my
rudimentary
> > undestanding of java servlets, other resources will choke on you way
before
> > the single servlet chokes anyhow.
> >
>
> See above -- the most important factors in webapp performance have 
nothing
> to do with this issue at all.  In fact, the most important factors are
> typically:
>
> * Overall application architecture (things like caching where it is
>   appropriate, but not doing premature optimization -- there are lots
>   of good books on optimizing server-side Java apps around to draw
>   ideas from).
>
> * Database performance (be sure to use connection pooling effectively)
>
> * Network performance
>
> * The quality of the code generated by your JSP page compiler
>   for pages using lots of custom tags.
>
> Craig McClanahan



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
_
Help STOP SPAM with the new MSN 8 and get 2 months FREE*  
http://join.msn.com/?page=features/junkmail

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: Struts Performance - Any Benchmarks?

2003-05-27 Thread Tin Pham
Hi David, Craig,

Thanks for your replies. I will forward them to my team.

I made the same points about multi-threading verbally and following up with
research and references for the team.

They seem to be itching for benchmarks though, so I'll give it to them by
building a single, then multi-servlet app and using Introscope with some
load test simulators. I was hoping somebody in a situation such as myself
already had done it.

Now the next matter of opposition I'm getting is does struts work well in a
distributed environment for example load balancing. I will post this a
separate thread with what I have told them already.

"Craig R. McClanahan" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
>
> On Thu, 22 May 2003, Tin Pham wrote:
>
> > Date: Thu, 22 May 2003 00:09:09 -0400
> > From: Tin Pham <[EMAIL PROTECTED]>
> > Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: Struts Performance - Any Benchmarks?
> >
> > Hi, I have been scouring the internet with no results.
> >
> > Does anybody have any resources on the performance of Struts
applications.
> > Any
> > benchmarks versus standard development.
> >
> > One "bottle-neck" brought up by members of my team is the single action
> > servlet everything must pass through. Are there currently or going to be
> > programming solutions to this?
> >
>
> If your team believes that this issue is a bottleneck, then some training
> and a more complete understanding of how multithreading works in Java
> might be appropriate -- the fact that a single instance of the action
> servlet (and of the actions themselves) has zero impact on performance,
> and it reduces memory consumption of your app by avoiding useless extra
> copies.
>
> > For example, maybe we can have more than one action servlet and use a
> > different mapping.. ie, instead of *.do, *.jspx ? But then would global
> > forwards from the two different actions still work?
> >
>
> This won't work, but not for performance reasons -- Struts supports only a
> single mapping to the controller servlet, and only one controller servlet
> per webapp.
>
> > Personally, I argue that we should simply go to load balancing if it
comes
> > to
> > that and adding more servlets wouldn't do much anyway. From my
rudimentary
> > undestanding of java servlets, other resources will choke on you way
before
> > the single servlet chokes anyhow.
> >
>
> See above -- the most important factors in webapp performance have nothing
> to do with this issue at all.  In fact, the most important factors are
> typically:
>
> * Overall application architecture (things like caching where it is
>   appropriate, but not doing premature optimization -- there are lots
>   of good books on optimizing server-side Java apps around to draw
>   ideas from).
>
> * Database performance (be sure to use connection pooling effectively)
>
> * Network performance
>
> * The quality of the code generated by your JSP page compiler
>   for pages using lots of custom tags.
>
> Craig McClanahan




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Struts Performance - Any Benchmarks?

2003-05-27 Thread Craig R. McClanahan


On Thu, 22 May 2003, Tin Pham wrote:

> Date: Thu, 22 May 2003 00:09:09 -0400
> From: Tin Pham <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: Struts Performance - Any Benchmarks?
>
> Hi, I have been scouring the internet with no results.
>
> Does anybody have any resources on the performance of Struts applications.
> Any
> benchmarks versus standard development.
>
> One "bottle-neck" brought up by members of my team is the single action
> servlet everything must pass through. Are there currently or going to be
> programming solutions to this?
>

If your team believes that this issue is a bottleneck, then some training
and a more complete understanding of how multithreading works in Java
might be appropriate -- the fact that a single instance of the action
servlet (and of the actions themselves) has zero impact on performance,
and it reduces memory consumption of your app by avoiding useless extra
copies.

> For example, maybe we can have more than one action servlet and use a
> different mapping.. ie, instead of *.do, *.jspx ? But then would global
> forwards from the two different actions still work?
>

This won't work, but not for performance reasons -- Struts supports only a
single mapping to the controller servlet, and only one controller servlet
per webapp.

> Personally, I argue that we should simply go to load balancing if it comes
> to
> that and adding more servlets wouldn't do much anyway. From my rudimentary
> undestanding of java servlets, other resources will choke on you way before
> the single servlet chokes anyhow.
>

See above -- the most important factors in webapp performance have nothing
to do with this issue at all.  In fact, the most important factors are
typically:

* Overall application architecture (things like caching where it is
  appropriate, but not doing premature optimization -- there are lots
  of good books on optimizing server-side Java apps around to draw
  ideas from).

* Database performance (be sure to use connection pooling effectively)

* Network performance

* The quality of the code generated by your JSP page compiler
  for pages using lots of custom tags.

Craig McClanahan

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]