Struts 2 performance

View: New views
20 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 - 3 - 4 | Next >

Parent Message unknown Re: Struts 2 performance

by James Holmes-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Perfect! This is an excellent start.

I think both should be compiled with 1.6.0. That will immediately remove that
element of difference between the two.

James


On Thu Jul 12 15:22 , 'Frank W. Zammetti' <fzlists@...> sent:

>Dunno if this might help, but:
>
>http://www.omnytex.com/struts_benchmarking.zip
>
>In it you'll find two applications, one for S1 (1.3.8) and one for S2
>(2.0.8)... they are both (I think!) pretty much equivalent, and about as
>simplistic as you can get.  Also included is a JMeter test plan to run
>against them (just disable one or the other thread group, wouldn't want
>to test them both at the same time!).
>
>Just ran a quick-and-dirty comparison of the two using the test plan...
>I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
>one difference is that the S1 version was compiled with JDK 1.4.2, and
>the S2 version with 1.6.0, so there's at least one potentially big
>variance right up front... here's what I saw:
>
>S1 results:
>4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
>
>S2 results:
>4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
>
>I'm not claiming this to be the perfect test, nor do I believe there's
>not some flaws in there (benchmarking is always a tough thing to get
>quite right, especially trying to do a comparison like this)... but,
>unless someone can point out some obvious mistakes I made, the numbers
>don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
>as slow as S1.
>
>I'm not trying to make any sensational claims here, and again, I may
>have totally blown it in the first place (I did throw this together in
>about 30 minutes after all), but if we can use this as a basis going
>forward, maybe build it up as a more expansive, realistic and solid
>benchmarking suite, then it's all good in the end.
>
>Anyway, it's there, if anyone's interested.
>
>Frank
>
>--
>Frank W. Zammetti
>Founder and Chief Software Architect
>Omnytex Technologies
>http://www.omnytex.com
>AIM/Yahoo: fzammetti
>MSN: fzammetti@...
>Author of "Practical Ajax Projects With Java Technology"
>  (2006, Apress, ISBN 1-59059-695-1)
>and "JavaScript, DOM Scripting and Ajax Projects"
>  (2007, Apress, ISBN 1-59059-816-4)
>Java Web Parts - http://javawebparts.sourceforge.net
>  Supplying the wheel, so you don't have to reinvent it!
>
>Ing. Andrea Vettori wrote:
>>
>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>>
>>> 2007/7/12, Ing. Andrea Vettori mail@...>:
>>>> Compared to nothing... they are pure numbers. They are simply just
>>>> good enought (to me).
>>>>
>>>> If we don't have this in mind we should use assember for everything :)
>>>
>>> what I meant was: maybe it could be a good idea to redevelop your
>>> screens with, say struts 1 for example, and compare the results
>>
>> mmmm I can't do that... simply don't have the time... :)
>>
>>
>>>> In the high load test, after 10 seconds you have about 90 users (the
>>>> other 10 should have finished). Having a response time of 2,5 seconds
>>>> for a db search and result display under such load seems very good to
>>>> me.
>>>>
>>>> Don't you ?
>>>
>>> it depends :-)
>>>
>>> "2.5s" doesn't say much to me, I would need to know how much time is
>>> consumed in your DB requests, how much time is consumed in your
>>> service layer, etc etc.
>>>
>>> Is it 90 users really active at the same time, meaning using 90
>>> threads on the server?if it is, do you have at least 90 connections in
>>> your pool?
>>> or did you put think times in your tests?
>>
>>
>>
>> No think time...
>>
>> I have 250 threads but I have a limit of 50 connections on my pool. I'll
>> try to raise
>> the number of maximum connection to see if the MP3 list test gets better.
>>
>> However I think that struts alone is performing well for my app; don't
>> know if it's because
>> i'm using only few OGNL expressions on my jsp pages.
>>
>> --
>> Ing. Andrea Vettori
>> Consulente per l'Information Technology
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@...
>> For additional commands, e-mail: user-help@...
>>
>>
>>
>>
>>
>> --No virus found in this incoming message.
>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>>
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@...
>For additional commands, e-mail: user-help@...
>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Frank W. Zammetti :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dunno if this might help, but:

http://www.omnytex.com/struts_benchmarking.zip

In it you'll find two applications, one for S1 (1.3.8) and one for S2
(2.0.8)... they are both (I think!) pretty much equivalent, and about as
simplistic as you can get.  Also included is a JMeter test plan to run
against them (just disable one or the other thread group, wouldn't want
to test them both at the same time!).

Just ran a quick-and-dirty comparison of the two using the test plan...
I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
one difference is that the S1 version was compiled with JDK 1.4.2, and
the S2 version with 1.6.0, so there's at least one potentially big
variance right up front... here's what I saw:

S1 results:
4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec

S2 results:
4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec

I'm not claiming this to be the perfect test, nor do I believe there's
not some flaws in there (benchmarking is always a tough thing to get
quite right, especially trying to do a comparison like this)... but,
unless someone can point out some obvious mistakes I made, the numbers
don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
as slow as S1.

I'm not trying to make any sensational claims here, and again, I may
have totally blown it in the first place (I did throw this together in
about 30 minutes after all), but if we can use this as a basis going
forward, maybe build it up as a more expansive, realistic and solid
benchmarking suite, then it's all good in the end.

Anyway, it's there, if anyone's interested.

Frank

--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@...
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

Ing. Andrea Vettori wrote:

>
> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>
>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
>>> Compared to nothing... they are pure numbers. They are simply just
>>> good enought (to me).
>>>
>>> If we don't have this in mind we should use assember for everything :)
>>
>> what I meant was: maybe it could be a good idea to redevelop your
>> screens with, say struts 1 for example, and compare the results
>
> mmmm I can't do that... simply don't have the time... :)
>
>
>>> In the high load test, after 10 seconds you have about 90 users (the
>>> other 10 should have finished). Having a response time of 2,5 seconds
>>> for a db search and result display under such load seems very good to
>>> me.
>>>
>>> Don't you ?
>>
>> it depends :-)
>>
>> "2.5s" doesn't say much to me, I would need to know how much time is
>> consumed in your DB requests, how much time is consumed in your
>> service layer, etc etc.
>>
>> Is it 90 users really active at the same time, meaning using 90
>> threads on the server?if it is, do you have at least 90 connections in
>> your pool?
>> or did you put think times in your tests?
>
>
>
> No think time...
>
> I have 250 threads but I have a limit of 50 connections on my pool. I'll
> try to raise
> the number of maximum connection to see if the MP3 list test gets better.
>
> However I think that struts alone is performing well for my app; don't
> know if it's because
> i'm using only few OGNL expressions on my jsp pages.
>
> --
> Ing. Andrea Vettori
> Consulente per l'Information Technology
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@...
> For additional commands, e-mail: user-help@...
>
>
>
>
>
> --No virus found in this incoming message.
> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Parent Message unknown Re: Struts 2 performance

by James Holmes-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

My only point was that the S1 and S2 apps should be compiled using the same
version of Java. I didn't mean to imply any version that S2 should support. I
guess in a perfect world the test should be compiled with 1.5 since that is what
S2 supports.

James


On Thu Jul 12 15:34 , "Ted Husted"  sent:

>Are we targeting 1.6 now, or is the S2 target platform still 1.5?
>
>-T.
>
>On 7/12/07, James Holmes james@...> wrote:
>> Perfect! This is an excellent start.
>>
>> I think both should be compiled with 1.6.0. That will immediately remove that
>> element of difference between the two.
>>
>> James



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Ted Husted :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Are we targeting 1.6 now, or is the S2 target platform still 1.5?

-T.

On 7/12/07, James Holmes <james@...> wrote:
> Perfect! This is an excellent start.
>
> I think both should be compiled with 1.6.0. That will immediately remove that
> element of difference between the two.
>
> James

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Frank W. Zammetti :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The build scripts and full source are of course included, so by all
means feel free to recompile and rerun... I'm getting into something
else at the moment otherwise I'd do it right now because I'd be very
interested in seeing if the results converge a bit (I wouldn't expect
them to diverge, that's for sure!).

Frank

James Holmes wrote:

> My only point was that the S1 and S2 apps should be compiled using the same
> version of Java. I didn't mean to imply any version that S2 should support. I
> guess in a perfect world the test should be compiled with 1.5 since that is what
> S2 supports.
>
> James
>
>
> On Thu Jul 12 15:34 , "Ted Husted"  sent:
>
>> Are we targeting 1.6 now, or is the S2 target platform still 1.5?
>>
>> -T.
>>
>> On 7/12/07, James Holmes james@...> wrote:
>>> Perfect! This is an excellent start.
>>>
>>> I think both should be compiled with 1.6.0. That will immediately remove that
>>> element of difference between the two.
>>>
>>> James
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@...
> For additional commands, e-mail: user-help@...
>
>
>
>
>

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@...
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by cilquirm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Frank, would you care to give the same tests a shot with  ognl 2.7 and javassist in the mix.

Although none of this is purely scientific, at least evaluations on that regard give us some level of subjective information.
 
The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs download :

http://tapestry.apache.org/download.html




Frank W. Zammetti wrote:
Dunno if this might help, but:

http://www.omnytex.com/struts_benchmarking.zip

In it you'll find two applications, one for S1 (1.3.8) and one for S2
(2.0.8)... they are both (I think!) pretty much equivalent, and about as
simplistic as you can get.  Also included is a JMeter test plan to run
against them (just disable one or the other thread group, wouldn't want
to test them both at the same time!).

Just ran a quick-and-dirty comparison of the two using the test plan...
I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
one difference is that the S1 version was compiled with JDK 1.4.2, and
the S2 version with 1.6.0, so there's at least one potentially big
variance right up front... here's what I saw:

S1 results:
4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec

S2 results:
4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec

I'm not claiming this to be the perfect test, nor do I believe there's
not some flaws in there (benchmarking is always a tough thing to get
quite right, especially trying to do a comparison like this)... but,
unless someone can point out some obvious mistakes I made, the numbers
don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
as slow as S1.

I'm not trying to make any sensational claims here, and again, I may
have totally blown it in the first place (I did throw this together in
about 30 minutes after all), but if we can use this as a basis going
forward, maybe build it up as a more expansive, realistic and solid
benchmarking suite, then it's all good in the end.

Anyway, it's there, if anyone's interested.

Frank

--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@hotmail.com
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

Ing. Andrea Vettori wrote:
>
> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>
>> 2007/7/12, Ing. Andrea Vettori <mail@andreavettori.com>:
>>> Compared to nothing... they are pure numbers. They are simply just
>>> good enought (to me).
>>>
>>> If we don't have this in mind we should use assember for everything :)
>>
>> what I meant was: maybe it could be a good idea to redevelop your
>> screens with, say struts 1 for example, and compare the results
>
> mmmm I can't do that... simply don't have the time... :)
>
>
>>> In the high load test, after 10 seconds you have about 90 users (the
>>> other 10 should have finished). Having a response time of 2,5 seconds
>>> for a db search and result display under such load seems very good to
>>> me.
>>>
>>> Don't you ?
>>
>> it depends :-)
>>
>> "2.5s" doesn't say much to me, I would need to know how much time is
>> consumed in your DB requests, how much time is consumed in your
>> service layer, etc etc.
>>
>> Is it 90 users really active at the same time, meaning using 90
>> threads on the server?if it is, do you have at least 90 connections in
>> your pool?
>> or did you put think times in your tests?
>
>
>
> No think time...
>
> I have 250 threads but I have a limit of 50 connections on my pool. I'll
> try to raise
> the number of maximum connection to see if the MP3 list test gets better.
>
> However I think that struts alone is performing well for my app; don't
> know if it's because
> i'm using only few OGNL expressions on my jsp pages.
>
> --
> Ing. Andrea Vettori
> Consulente per l'Information Technology
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
>
>
> --No virus found in this incoming message.
> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org

Re: Struts 2 performance

by cilquirm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

for my sake, i hope it's still 1.5.

i'm not allowed to go near 1.6 because of some obscure bug in some oracle driver somewhere.


Ted Husted wrote:
Are we targeting 1.6 now, or is the S2 target platform still 1.5?

-T.

On 7/12/07, James Holmes <james@jamesholmes.com> wrote:
> Perfect! This is an excellent start.
>
> I think both should be compiled with 1.6.0. That will immediately remove that
> element of difference between the two.
>
> James

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org

Re: Struts 2 performance

by Frank W. Zammetti :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Well, here's exactly why I hate benchmarking: it's never consistent! :)

This time, everything compiled with JDK 1.6 (it's what I have installed
along side 1.4.2) and all used 5000 samples (updated test plan to always
do 5000 samples)...

S1:
685 average, 142.3/sec throughput, 20.89 KB/sec

So, an improvement there, maybe because of the JDK, maybe not.

S2 w/OGNL 2.6:
1054 average, 87.3/sec throughput, 12.87 KB/sec

That's better than the last run, but for no apparent reason!

S2 W/OGNL 2.7:
1073 average, 85.8/sec throughput, 12.65 KB/sec

Wuh?!?  Ok, I think we can most likely dismiss the difference as within
a statistical margin of difference, which means either (a) these tests
are just flat-out flawed somehow, (b) the OGNL bump, at least as far as
just a straight drop-in, makes no real difference, or (c) OGNL isn't
being used to enough of an extent in this test to notice a difference
(I'm frankly betting on that one).

FYI, I've created JIRA ticket WW-2040... that way if others want to
extend the apps, they can attach an updated version to the ticket so
everyone can share.

Frank

cilquirm wrote:

> Frank, would you care to give the same tests a shot with  ognl 2.7 and
> javassist in the mix.
>
> Although none of this is purely scientific, at least evaluations on that
> regard give us some level of subjective information.
>  
> The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs
> download :
>
> http://tapestry.apache.org/download.html
>
>
>
>
>
> Frank W. Zammetti wrote:
>> Dunno if this might help, but:
>>
>> http://www.omnytex.com/struts_benchmarking.zip
>>
>> In it you'll find two applications, one for S1 (1.3.8) and one for S2
>> (2.0.8)... they are both (I think!) pretty much equivalent, and about as
>> simplistic as you can get.  Also included is a JMeter test plan to run
>> against them (just disable one or the other thread group, wouldn't want
>> to test them both at the same time!).
>>
>> Just ran a quick-and-dirty comparison of the two using the test plan...
>> I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
>> one difference is that the S1 version was compiled with JDK 1.4.2, and
>> the S2 version with 1.6.0, so there's at least one potentially big
>> variance right up front... here's what I saw:
>>
>> S1 results:
>> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
>>
>> S2 results:
>> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
>>
>> I'm not claiming this to be the perfect test, nor do I believe there's
>> not some flaws in there (benchmarking is always a tough thing to get
>> quite right, especially trying to do a comparison like this)... but,
>> unless someone can point out some obvious mistakes I made, the numbers
>> don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
>> as slow as S1.
>>
>> I'm not trying to make any sensational claims here, and again, I may
>> have totally blown it in the first place (I did throw this together in
>> about 30 minutes after all), but if we can use this as a basis going
>> forward, maybe build it up as a more expansive, realistic and solid
>> benchmarking suite, then it's all good in the end.
>>
>> Anyway, it's there, if anyone's interested.
>>
>> Frank
>>
>> --
>> Frank W. Zammetti
>> Founder and Chief Software Architect
>> Omnytex Technologies
>> http://www.omnytex.com
>> AIM/Yahoo: fzammetti
>> MSN: fzammetti@...
>> Author of "Practical Ajax Projects With Java Technology"
>>   (2006, Apress, ISBN 1-59059-695-1)
>> and "JavaScript, DOM Scripting and Ajax Projects"
>>   (2007, Apress, ISBN 1-59059-816-4)
>> Java Web Parts - http://javawebparts.sourceforge.net
>>   Supplying the wheel, so you don't have to reinvent it!
>>
>> Ing. Andrea Vettori wrote:
>>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>>>
>>>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
>>>>> Compared to nothing... they are pure numbers. They are simply just
>>>>> good enought (to me).
>>>>>
>>>>> If we don't have this in mind we should use assember for everything :)
>>>> what I meant was: maybe it could be a good idea to redevelop your
>>>> screens with, say struts 1 for example, and compare the results
>>> mmmm I can't do that... simply don't have the time... :)
>>>
>>>
>>>>> In the high load test, after 10 seconds you have about 90 users (the
>>>>> other 10 should have finished). Having a response time of 2,5 seconds
>>>>> for a db search and result display under such load seems very good to
>>>>> me.
>>>>>
>>>>> Don't you ?
>>>> it depends :-)
>>>>
>>>> "2.5s" doesn't say much to me, I would need to know how much time is
>>>> consumed in your DB requests, how much time is consumed in your
>>>> service layer, etc etc.
>>>>
>>>> Is it 90 users really active at the same time, meaning using 90
>>>> threads on the server?if it is, do you have at least 90 connections in
>>>> your pool?
>>>> or did you put think times in your tests?
>>>
>>>
>>> No think time...
>>>
>>> I have 250 threads but I have a limit of 50 connections on my pool. I'll
>>> try to raise
>>> the number of maximum connection to see if the MP3 list test gets better.
>>>
>>> However I think that struts alone is performing well for my app; don't
>>> know if it's because
>>> i'm using only few OGNL expressions on my jsp pages.
>>>
>>> --
>>> Ing. Andrea Vettori
>>> Consulente per l'Information Technology
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@...
>>> For additional commands, e-mail: user-help@...
>>>
>>>
>>>
>>>
>>>
>>> --No virus found in this incoming message.
>>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@...
>> For additional commands, e-mail: user-help@...
>>
>>
>>
>

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@...
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by James Holmes-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Frank,

There should not be a noticable difference with OGNL yet. The performance improvements in OGNL 2.7 require expressions to be compiled before being executed. The current S2 code does not do this yet so it cannot realize the performance gains yet.




Sent via BlackBerry.

-----Original Message-----
From: "Frank W. Zammetti" <fzlists@...>

Date: Thu, 12 Jul 2007 17:10:17
To:Struts Users Mailing List <user@...>
Subject: Re: Struts 2 performance


Well, here's exactly why I hate benchmarking: it's never consistent! :)

This time, everything compiled with JDK 1.6 (it's what I have installed
along side 1.4.2) and all used 5000 samples (updated test plan to always
do 5000 samples)...

S1:
685 average, 142.3/sec throughput, 20.89 KB/sec

So, an improvement there, maybe because of the JDK, maybe not.

S2 w/OGNL 2.6:
1054 average, 87.3/sec throughput, 12.87 KB/sec

That's better than the last run, but for no apparent reason!

S2 W/OGNL 2.7:
1073 average, 85.8/sec throughput, 12.65 KB/sec

Wuh?!?  Ok, I think we can most likely dismiss the difference as within
a statistical margin of difference, which means either (a) these tests
are just flat-out flawed somehow, (b) the OGNL bump, at least as far as
just a straight drop-in, makes no real difference, or (c) OGNL isn't
being used to enough of an extent in this test to notice a difference
(I'm frankly betting on that one).

FYI, I've created JIRA ticket WW-2040... that way if others want to
extend the apps, they can attach an updated version to the ticket so
everyone can share.

Frank

cilquirm wrote:

> Frank, would you care to give the same tests a shot with  ognl 2.7 and
> javassist in the mix.
>
> Although none of this is purely scientific, at least evaluations on that
> regard give us some level of subjective information.
>  
> The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs
> download :
>
> http://tapestry.apache.org/download.html
>
>
>
>
>
> Frank W. Zammetti wrote:
>> Dunno if this might help, but:
>>
>> http://www.omnytex.com/struts_benchmarking.zip
>>
>> In it you'll find two applications, one for S1 (1.3.8) and one for S2
>> (2.0.8)... they are both (I think!) pretty much equivalent, and about as
>> simplistic as you can get.  Also included is a JMeter test plan to run
>> against them (just disable one or the other thread group, wouldn't want
>> to test them both at the same time!).
>>
>> Just ran a quick-and-dirty comparison of the two using the test plan...
>> I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
>> one difference is that the S1 version was compiled with JDK 1.4.2, and
>> the S2 version with 1.6.0, so there's at least one potentially big
>> variance right up front... here's what I saw:
>>
>> S1 results:
>> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
>>
>> S2 results:
>> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
>>
>> I'm not claiming this to be the perfect test, nor do I believe there's
>> not some flaws in there (benchmarking is always a tough thing to get
>> quite right, especially trying to do a comparison like this)... but,
>> unless someone can point out some obvious mistakes I made, the numbers
>> don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
>> as slow as S1.
>>
>> I'm not trying to make any sensational claims here, and again, I may
>> have totally blown it in the first place (I did throw this together in
>> about 30 minutes after all), but if we can use this as a basis going
>> forward, maybe build it up as a more expansive, realistic and solid
>> benchmarking suite, then it's all good in the end.
>>
>> Anyway, it's there, if anyone's interested.
>>
>> Frank
>>
>> --
>> Frank W. Zammetti
>> Founder and Chief Software Architect
>> Omnytex Technologies
>> http://www.omnytex.com
>> AIM/Yahoo: fzammetti
>> MSN: fzammetti@...
>> Author of "Practical Ajax Projects With Java Technology"
>>   (2006, Apress, ISBN 1-59059-695-1)
>> and "JavaScript, DOM Scripting and Ajax Projects"
>>   (2007, Apress, ISBN 1-59059-816-4)
>> Java Web Parts - http://javawebparts.sourceforge.net
>>   Supplying the wheel, so you don't have to reinvent it!
>>
>> Ing. Andrea Vettori wrote:
>>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>>>
>>>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
>>>>> Compared to nothing... they are pure numbers. They are simply just
>>>>> good enought (to me).
>>>>>
>>>>> If we don't have this in mind we should use assember for everything :)
>>>> what I meant was: maybe it could be a good idea to redevelop your
>>>> screens with, say struts 1 for example, and compare the results
>>> mmmm I can't do that... simply don't have the time... :)
>>>
>>>
>>>>> In the high load test, after 10 seconds you have about 90 users (the
>>>>> other 10 should have finished). Having a response time of 2,5 seconds
>>>>> for a db search and result display under such load seems very good to
>>>>> me.
>>>>>
>>>>> Don't you ?
>>>> it depends :-)
>>>>
>>>> "2.5s" doesn't say much to me, I would need to know how much time is
>>>> consumed in your DB requests, how much time is consumed in your
>>>> service layer, etc etc.
>>>>
>>>> Is it 90 users really active at the same time, meaning using 90
>>>> threads on the server?if it is, do you have at least 90 connections in
>>>> your pool?
>>>> or did you put think times in your tests?
>>>
>>>
>>> No think time...
>>>
>>> I have 250 threads but I have a limit of 50 connections on my pool. I'll
>>> try to raise
>>> the number of maximum connection to see if the MP3 list test gets better.
>>>
>>> However I think that struts alone is performing well for my app; don't
>>> know if it's because
>>> i'm using only few OGNL expressions on my jsp pages.
>>>
>>> --
>>> Ing. Andrea Vettori
>>> Consulente per l'Information Technology
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@...
>>> For additional commands, e-mail: user-help@...
>>>
>>>
>>>
>>>
>>>
>>> --No virus found in this incoming message.
>>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@...
>> For additional commands, e-mail: user-help@...
>>
>>
>>
>

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@...
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Don Brown-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm really happy to see this issue being addressed, but it is
important to remember, framework performance wasn't (isn't?) a primary
goal for WebWork 2, and now Struts 2.  Specific decisions were made to
favor developer productivity and flexibility over performance such as
a template engine-based, theme-capable tag rendering and rich
expression language usage throughout.

Still, it is possible to do things like reimplement the tags using a
pure Java template engine, which gives 2-3x performance gains, but in
the end, you are left with very inflexible tags that are a pain to
extend and customize.  Of course, if you just use the simple theme,
then this idea might still be attractive.

Finally, it is worth repeating that in a typical web application, the
framework should be such a small part of processing, but if it is not,
those are the types of issues I'd like to really address.

Don

On 7/13/07, Frank W. Zammetti <fzlists@...> wrote:

> Well, here's exactly why I hate benchmarking: it's never consistent! :)
>
> This time, everything compiled with JDK 1.6 (it's what I have installed
> along side 1.4.2) and all used 5000 samples (updated test plan to always
> do 5000 samples)...
>
> S1:
> 685 average, 142.3/sec throughput, 20.89 KB/sec
>
> So, an improvement there, maybe because of the JDK, maybe not.
>
> S2 w/OGNL 2.6:
> 1054 average, 87.3/sec throughput, 12.87 KB/sec
>
> That's better than the last run, but for no apparent reason!
>
> S2 W/OGNL 2.7:
> 1073 average, 85.8/sec throughput, 12.65 KB/sec
>
> Wuh?!?  Ok, I think we can most likely dismiss the difference as within
> a statistical margin of difference, which means either (a) these tests
> are just flat-out flawed somehow, (b) the OGNL bump, at least as far as
> just a straight drop-in, makes no real difference, or (c) OGNL isn't
> being used to enough of an extent in this test to notice a difference
> (I'm frankly betting on that one).
>
> FYI, I've created JIRA ticket WW-2040... that way if others want to
> extend the apps, they can attach an updated version to the ticket so
> everyone can share.
>
> Frank
>
> cilquirm wrote:
> > Frank, would you care to give the same tests a shot with  ognl 2.7 and
> > javassist in the mix.
> >
> > Although none of this is purely scientific, at least evaluations on that
> > regard give us some level of subjective information.
> >
> > The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs
> > download :
> >
> > http://tapestry.apache.org/download.html
> >
> >
> >
> >
> >
> > Frank W. Zammetti wrote:
> >> Dunno if this might help, but:
> >>
> >> http://www.omnytex.com/struts_benchmarking.zip
> >>
> >> In it you'll find two applications, one for S1 (1.3.8) and one for S2
> >> (2.0.8)... they are both (I think!) pretty much equivalent, and about as
> >> simplistic as you can get.  Also included is a JMeter test plan to run
> >> against them (just disable one or the other thread group, wouldn't want
> >> to test them both at the same time!).
> >>
> >> Just ran a quick-and-dirty comparison of the two using the test plan...
> >> I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
> >> one difference is that the S1 version was compiled with JDK 1.4.2, and
> >> the S2 version with 1.6.0, so there's at least one potentially big
> >> variance right up front... here's what I saw:
> >>
> >> S1 results:
> >> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
> >>
> >> S2 results:
> >> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
> >>
> >> I'm not claiming this to be the perfect test, nor do I believe there's
> >> not some flaws in there (benchmarking is always a tough thing to get
> >> quite right, especially trying to do a comparison like this)... but,
> >> unless someone can point out some obvious mistakes I made, the numbers
> >> don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
> >> as slow as S1.
> >>
> >> I'm not trying to make any sensational claims here, and again, I may
> >> have totally blown it in the first place (I did throw this together in
> >> about 30 minutes after all), but if we can use this as a basis going
> >> forward, maybe build it up as a more expansive, realistic and solid
> >> benchmarking suite, then it's all good in the end.
> >>
> >> Anyway, it's there, if anyone's interested.
> >>
> >> Frank
> >>
> >> --
> >> Frank W. Zammetti
> >> Founder and Chief Software Architect
> >> Omnytex Technologies
> >> http://www.omnytex.com
> >> AIM/Yahoo: fzammetti
> >> MSN: fzammetti@...
> >> Author of "Practical Ajax Projects With Java Technology"
> >>   (2006, Apress, ISBN 1-59059-695-1)
> >> and "JavaScript, DOM Scripting and Ajax Projects"
> >>   (2007, Apress, ISBN 1-59059-816-4)
> >> Java Web Parts - http://javawebparts.sourceforge.net
> >>   Supplying the wheel, so you don't have to reinvent it!
> >>
> >> Ing. Andrea Vettori wrote:
> >>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
> >>>
> >>>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
> >>>>> Compared to nothing... they are pure numbers. They are simply just
> >>>>> good enought (to me).
> >>>>>
> >>>>> If we don't have this in mind we should use assember for everything :)
> >>>> what I meant was: maybe it could be a good idea to redevelop your
> >>>> screens with, say struts 1 for example, and compare the results
> >>> mmmm I can't do that... simply don't have the time... :)
> >>>
> >>>
> >>>>> In the high load test, after 10 seconds you have about 90 users (the
> >>>>> other 10 should have finished). Having a response time of 2,5 seconds
> >>>>> for a db search and result display under such load seems very good to
> >>>>> me.
> >>>>>
> >>>>> Don't you ?
> >>>> it depends :-)
> >>>>
> >>>> "2.5s" doesn't say much to me, I would need to know how much time is
> >>>> consumed in your DB requests, how much time is consumed in your
> >>>> service layer, etc etc.
> >>>>
> >>>> Is it 90 users really active at the same time, meaning using 90
> >>>> threads on the server?if it is, do you have at least 90 connections in
> >>>> your pool?
> >>>> or did you put think times in your tests?
> >>>
> >>>
> >>> No think time...
> >>>
> >>> I have 250 threads but I have a limit of 50 connections on my pool. I'll
> >>> try to raise
> >>> the number of maximum connection to see if the MP3 list test gets better.
> >>>
> >>> However I think that struts alone is performing well for my app; don't
> >>> know if it's because
> >>> i'm using only few OGNL expressions on my jsp pages.
> >>>
> >>> --
> >>> Ing. Andrea Vettori
> >>> Consulente per l'Information Technology
> >>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: user-unsubscribe@...
> >>> For additional commands, e-mail: user-help@...
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> --No virus found in this incoming message.
> >>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> >>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@...
> >> For additional commands, e-mail: user-help@...
> >>
> >>
> >>
> >
>
> --
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> AIM/Yahoo: fzammetti
> MSN: fzammetti@...
> Author of "Practical Ajax Projects With Java Technology"
>   (2006, Apress, ISBN 1-59059-695-1)
> and "JavaScript, DOM Scripting and Ajax Projects"
>   (2007, Apress, ISBN 1-59059-816-4)
> Java Web Parts - http://javawebparts.sourceforge.net
>   Supplying the wheel, so you don't have to reinvent it!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@...
> For additional commands, e-mail: user-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


RE: Struts 2 performance

by David Chisholm :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


We've only seen some initial high level benchmarks, and there isn't enough
information yet to assert what is the source of the performance differences.
This should be identified before trying things like a new version of OGNL.

David


-----Original Message-----
From: Don Brown [mailto:donald.brown@...]
Sent: Thursday, July 12, 2007 6:39 PM
To: Struts Users Mailing List
Subject: Re: Struts 2 performance


I'm really happy to see this issue being addressed, but it is important to
remember, framework performance wasn't (isn't?) a primary goal for WebWork
2, and now Struts 2.  Specific decisions were made to favor developer
productivity and flexibility over performance such as a template
engine-based, theme-capable tag rendering and rich expression language usage
throughout.

Still, it is possible to do things like reimplement the tags using a pure
Java template engine, which gives 2-3x performance gains, but in the end,
you are left with very inflexible tags that are a pain to extend and
customize.  Of course, if you just use the simple theme, then this idea
might still be attractive.

Finally, it is worth repeating that in a typical web application, the
framework should be such a small part of processing, but if it is not, those
are the types of issues I'd like to really address.

Don

On 7/13/07, Frank W. Zammetti <fzlists@...> wrote:

> Well, here's exactly why I hate benchmarking: it's never consistent!
> :)
>
> This time, everything compiled with JDK 1.6 (it's what I have
> installed along side 1.4.2) and all used 5000 samples (updated test
> plan to always do 5000 samples)...
>
> S1:
> 685 average, 142.3/sec throughput, 20.89 KB/sec
>
> So, an improvement there, maybe because of the JDK, maybe not.
>
> S2 w/OGNL 2.6:
> 1054 average, 87.3/sec throughput, 12.87 KB/sec
>
> That's better than the last run, but for no apparent reason!
>
> S2 W/OGNL 2.7:
> 1073 average, 85.8/sec throughput, 12.65 KB/sec
>
> Wuh?!?  Ok, I think we can most likely dismiss the difference as
> within a statistical margin of difference, which means either (a)
> these tests are just flat-out flawed somehow, (b) the OGNL bump, at
> least as far as just a straight drop-in, makes no real difference, or
> (c) OGNL isn't being used to enough of an extent in this test to
> notice a difference (I'm frankly betting on that one).
>
> FYI, I've created JIRA ticket WW-2040... that way if others want to
> extend the apps, they can attach an updated version to the ticket so
> everyone can share.
>
> Frank
>
> cilquirm wrote:
> > Frank, would you care to give the same tests a shot with  ognl 2.7
> > and javassist in the mix.
> >
> > Although none of this is purely scientific, at least evaluations on
> > that regard give us some level of subjective information.
> >
> > The ognl 2.7 and javassist jar are available via the
> > tapestry-4.2-libs download :
> >
> > http://tapestry.apache.org/download.html
> >
> >
> >
> >
> >
> > Frank W. Zammetti wrote:
> >> Dunno if this might help, but:
> >>
> >> http://www.omnytex.com/struts_benchmarking.zip
> >>
> >> In it you'll find two applications, one for S1 (1.3.8) and one for
> >> S2 (2.0.8)... they are both (I think!) pretty much equivalent, and
> >> about as simplistic as you can get.  Also included is a JMeter test
> >> plan to run against them (just disable one or the other thread
> >> group, wouldn't want to test them both at the same time!).
> >>
> >> Just ran a quick-and-dirty comparison of the two using the test
> >> plan... I ran 100 users with no ramp-up... local Tomcat instance
> >> (6.0.13)... the one difference is that the S1 version was compiled
> >> with JDK 1.4.2, and the S2 version with 1.6.0, so there's at least
> >> one potentially big variance right up front... here's what I saw:
> >>
> >> S1 results:
> >> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
> >>
> >> S2 results:
> >> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
> >>
> >> I'm not claiming this to be the perfect test, nor do I believe
> >> there's not some flaws in there (benchmarking is always a tough
> >> thing to get quite right, especially trying to do a comparison like
> >> this)... but, unless someone can point out some obvious mistakes I
> >> made, the numbers don't lie: S2 *looks*, *on the surface* at least,
> >> to be inherently twice as slow as S1.
> >>
> >> I'm not trying to make any sensational claims here, and again, I
> >> may have totally blown it in the first place (I did throw this
> >> together in about 30 minutes after all), but if we can use this as
> >> a basis going forward, maybe build it up as a more expansive,
> >> realistic and solid benchmarking suite, then it's all good in the
> >> end.
> >>
> >> Anyway, it's there, if anyone's interested.
> >>
> >> Frank
> >>
> >> --
> >> Frank W. Zammetti
> >> Founder and Chief Software Architect
> >> Omnytex Technologies
> >> http://www.omnytex.com
> >> AIM/Yahoo: fzammetti
> >> MSN: fzammetti@...
> >> Author of "Practical Ajax Projects With Java Technology"
> >>   (2006, Apress, ISBN 1-59059-695-1)
> >> and "JavaScript, DOM Scripting and Ajax Projects"
> >>   (2007, Apress, ISBN 1-59059-816-4)
> >> Java Web Parts - http://javawebparts.sourceforge.net
> >>   Supplying the wheel, so you don't have to reinvent it!
> >>
> >> Ing. Andrea Vettori wrote:
> >>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
> >>>
> >>>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
> >>>>> Compared to nothing... they are pure numbers. They are simply
> >>>>> just good enought (to me).
> >>>>>
> >>>>> If we don't have this in mind we should use assember for
> >>>>> everything :)
> >>>> what I meant was: maybe it could be a good idea to redevelop your
> >>>> screens with, say struts 1 for example, and compare the results
> >>> mmmm I can't do that... simply don't have the time... :)
> >>>
> >>>
> >>>>> In the high load test, after 10 seconds you have about 90 users
> >>>>> (the other 10 should have finished). Having a response time of
> >>>>> 2,5 seconds for a db search and result display under such load
> >>>>> seems very good to me.
> >>>>>
> >>>>> Don't you ?
> >>>> it depends :-)
> >>>>
> >>>> "2.5s" doesn't say much to me, I would need to know how much time
> >>>> is consumed in your DB requests, how much time is consumed in
> >>>> your service layer, etc etc.
> >>>>
> >>>> Is it 90 users really active at the same time, meaning using 90
> >>>> threads on the server?if it is, do you have at least 90
> >>>> connections in your pool? or did you put think times in your
> >>>> tests?
> >>>
> >>>
> >>> No think time...
> >>>
> >>> I have 250 threads but I have a limit of 50 connections on my
> >>> pool. I'll try to raise the number of maximum connection to see if
> >>> the MP3 list test gets better.
> >>>
> >>> However I think that struts alone is performing well for my app;
> >>> don't know if it's because i'm using only few OGNL expressions on
> >>> my jsp pages.
> >>>
> >>> --
> >>> Ing. Andrea Vettori
> >>> Consulente per l'Information Technology
> >>>
> >>>
> >>>
> >>> ------------------------------------------------------------------
> >>> ---
> >>> To unsubscribe, e-mail: user-unsubscribe@...
> >>> For additional commands, e-mail: user-help@...
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> --No virus found in this incoming message.
> >>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> >>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
> >>>
> >>>
> >>
> >> -------------------------------------------------------------------
> >> --
> >> To unsubscribe, e-mail: user-unsubscribe@...
> >> For additional commands, e-mail: user-help@...
> >>
> >>
> >>
> >
>
> --
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> AIM/Yahoo: fzammetti
> MSN: fzammetti@...
> Author of "Practical Ajax Projects With Java Technology"
>   (2006, Apress, ISBN 1-59059-695-1)
> and "JavaScript, DOM Scripting and Ajax Projects"
>   (2007, Apress, ISBN 1-59059-816-4)
> Java Web Parts - http://javawebparts.sourceforge.net
>   Supplying the wheel, so you don't have to reinvent it!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@...
> For additional commands, e-mail: user-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Ted Husted :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 7/12/07, Frank W. Zammetti <fzlists@...> wrote:
> (b) the OGNL bump, at least as far asjust a straight drop-in, makes no real difference

I don't think we really expected the "drop-in" to make a difference
without making other adjustment to take advantage of the enhancements.

-T.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Frank W. Zammetti :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ted Husted wrote:
> On 7/12/07, Frank W. Zammetti <fzlists@...> wrote:
>> (b) the OGNL bump, at least as far asjust a straight drop-in, makes no
>> real difference
>
> I don't think we really expected the "drop-in" to make a difference
> without making other adjustment to take advantage of the enhancements.

Yeah, that's the understanding I had from all the comments, just thought
it was worth saying in case anyone did have that expectation.

> -T.

Frank

> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@...
> For additional commands, e-mail: user-help@...
>
>
>
>
>

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@...
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Frank W. Zammetti :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I'm still betting OGNL isn't hit in any significant way in this test
anyhow... in fact, is it used at all?  I'm not even certain... I assume
this line does:

<s:property value="greeting" />

But maybe I'm wrong?  Like I said, even if it is, if *that* made any
sort of real difference in the numbers, I'd be flat-out shocked.

Frank

James Holmes wrote:

> Frank,
>
> There should not be a noticable difference with OGNL yet. The performance improvements in OGNL 2.7 require expressions to be compiled before being executed. The current S2 code does not do this yet so it cannot realize the performance gains yet.
>
>
>
>
> Sent via BlackBerry.
>
> -----Original Message-----
> From: "Frank W. Zammetti" <fzlists@...>
>
> Date: Thu, 12 Jul 2007 17:10:17
> To:Struts Users Mailing List <user@...>
> Subject: Re: Struts 2 performance
>
>
> Well, here's exactly why I hate benchmarking: it's never consistent! :)
>
> This time, everything compiled with JDK 1.6 (it's what I have installed
> along side 1.4.2) and all used 5000 samples (updated test plan to always
> do 5000 samples)...
>
> S1:
> 685 average, 142.3/sec throughput, 20.89 KB/sec
>
> So, an improvement there, maybe because of the JDK, maybe not.
>
> S2 w/OGNL 2.6:
> 1054 average, 87.3/sec throughput, 12.87 KB/sec
>
> That's better than the last run, but for no apparent reason!
>
> S2 W/OGNL 2.7:
> 1073 average, 85.8/sec throughput, 12.65 KB/sec
>
> Wuh?!?  Ok, I think we can most likely dismiss the difference as within
> a statistical margin of difference, which means either (a) these tests
> are just flat-out flawed somehow, (b) the OGNL bump, at least as far as
> just a straight drop-in, makes no real difference, or (c) OGNL isn't
> being used to enough of an extent in this test to notice a difference
> (I'm frankly betting on that one).
>
> FYI, I've created JIRA ticket WW-2040... that way if others want to
> extend the apps, they can attach an updated version to the ticket so
> everyone can share.
>
> Frank
>
> cilquirm wrote:
>> Frank, would you care to give the same tests a shot with  ognl 2.7 and
>> javassist in the mix.
>>
>> Although none of this is purely scientific, at least evaluations on that
>> regard give us some level of subjective information.
>>  
>> The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs
>> download :
>>
>> http://tapestry.apache.org/download.html
>>
>>
>>
>>
>>
>> Frank W. Zammetti wrote:
>>> Dunno if this might help, but:
>>>
>>> http://www.omnytex.com/struts_benchmarking.zip
>>>
>>> In it you'll find two applications, one for S1 (1.3.8) and one for S2
>>> (2.0.8)... they are both (I think!) pretty much equivalent, and about as
>>> simplistic as you can get.  Also included is a JMeter test plan to run
>>> against them (just disable one or the other thread group, wouldn't want
>>> to test them both at the same time!).
>>>
>>> Just ran a quick-and-dirty comparison of the two using the test plan...
>>> I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)... the
>>> one difference is that the S1 version was compiled with JDK 1.4.2, and
>>> the S2 version with 1.6.0, so there's at least one potentially big
>>> variance right up front... here's what I saw:
>>>
>>> S1 results:
>>> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
>>>
>>> S2 results:
>>> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
>>>
>>> I'm not claiming this to be the perfect test, nor do I believe there's
>>> not some flaws in there (benchmarking is always a tough thing to get
>>> quite right, especially trying to do a comparison like this)... but,
>>> unless someone can point out some obvious mistakes I made, the numbers
>>> don't lie: S2 *looks*, *on the surface* at least, to be inherently twice
>>> as slow as S1.
>>>
>>> I'm not trying to make any sensational claims here, and again, I may
>>> have totally blown it in the first place (I did throw this together in
>>> about 30 minutes after all), but if we can use this as a basis going
>>> forward, maybe build it up as a more expansive, realistic and solid
>>> benchmarking suite, then it's all good in the end.
>>>
>>> Anyway, it's there, if anyone's interested.
>>>
>>> Frank
>>>
>>> --
>>> Frank W. Zammetti
>>> Founder and Chief Software Architect
>>> Omnytex Technologies
>>> http://www.omnytex.com
>>> AIM/Yahoo: fzammetti
>>> MSN: fzammetti@...
>>> Author of "Practical Ajax Projects With Java Technology"
>>>   (2006, Apress, ISBN 1-59059-695-1)
>>> and "JavaScript, DOM Scripting and Ajax Projects"
>>>   (2007, Apress, ISBN 1-59059-816-4)
>>> Java Web Parts - http://javawebparts.sourceforge.net
>>>   Supplying the wheel, so you don't have to reinvent it!
>>>
>>> Ing. Andrea Vettori wrote:
>>>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
>>>>
>>>>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
>>>>>> Compared to nothing... they are pure numbers. They are simply just
>>>>>> good enought (to me).
>>>>>>
>>>>>> If we don't have this in mind we should use assember for everything :)
>>>>> what I meant was: maybe it could be a good idea to redevelop your
>>>>> screens with, say struts 1 for example, and compare the results
>>>> mmmm I can't do that... simply don't have the time... :)
>>>>
>>>>
>>>>>> In the high load test, after 10 seconds you have about 90 users (the
>>>>>> other 10 should have finished). Having a response time of 2,5 seconds
>>>>>> for a db search and result display under such load seems very good to
>>>>>> me.
>>>>>>
>>>>>> Don't you ?
>>>>> it depends :-)
>>>>>
>>>>> "2.5s" doesn't say much to me, I would need to know how much time is
>>>>> consumed in your DB requests, how much time is consumed in your
>>>>> service layer, etc etc.
>>>>>
>>>>> Is it 90 users really active at the same time, meaning using 90
>>>>> threads on the server?if it is, do you have at least 90 connections in
>>>>> your pool?
>>>>> or did you put think times in your tests?
>>>>
>>>> No think time...
>>>>
>>>> I have 250 threads but I have a limit of 50 connections on my pool. I'll
>>>> try to raise
>>>> the number of maximum connection to see if the MP3 list test gets better.
>>>>
>>>> However I think that struts alone is performing well for my app; don't
>>>> know if it's because
>>>> i'm using only few OGNL expressions on my jsp pages.
>>>>
>>>> --
>>>> Ing. Andrea Vettori
>>>> Consulente per l'Information Technology
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@...
>>>> For additional commands, e-mail: user-help@...
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --No virus found in this incoming message.
>>>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
>>>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@...
>>> For additional commands, e-mail: user-help@...
>>>
>>>
>>>
>
>
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.476 / Virus Database: 269.10.4/898 - Release Date: 7/12/2007 4:08 PM

--
--
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com
AIM/Yahoo: fzammetti
MSN: fzammetti@...
Author of "Practical Ajax Projects With Java Technology"
  (2006, Apress, ISBN 1-59059-695-1)
and "JavaScript, DOM Scripting and Ajax Projects"
  (2007, Apress, ISBN 1-59059-816-4)
Java Web Parts - http://javawebparts.sourceforge.net
  Supplying the wheel, so you don't have to reinvent it!

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Musachy Barroso :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Doesn't xwork cache the expressions compiled?

musachy

On 7/12/07, James Holmes <james@...> wrote:

>
> Frank,
>
> There should not be a noticable difference with OGNL yet. The performance
> improvements in OGNL 2.7 require expressions to be compiled before being
> executed. The current S2 code does not do this yet so it cannot realize the
> performance gains yet.
>
>
>
>
> Sent via BlackBerry.
>
> -----Original Message-----
> From: "Frank W. Zammetti" <fzlists@...>
>
> Date: Thu, 12 Jul 2007 17:10:17
> To:Struts Users Mailing List <user@...>
> Subject: Re: Struts 2 performance
>
>
> Well, here's exactly why I hate benchmarking: it's never consistent! :)
>
> This time, everything compiled with JDK 1.6 (it's what I have installed
> along side 1.4.2) and all used 5000 samples (updated test plan to always
> do 5000 samples)...
>
> S1:
> 685 average, 142.3/sec throughput, 20.89 KB/sec
>
> So, an improvement there, maybe because of the JDK, maybe not.
>
> S2 w/OGNL 2.6:
> 1054 average, 87.3/sec throughput, 12.87 KB/sec
>
> That's better than the last run, but for no apparent reason!
>
> S2 W/OGNL 2.7:
> 1073 average, 85.8/sec throughput, 12.65 KB/sec
>
> Wuh?!?  Ok, I think we can most likely dismiss the difference as within
> a statistical margin of difference, which means either (a) these tests
> are just flat-out flawed somehow, (b) the OGNL bump, at least as far as
> just a straight drop-in, makes no real difference, or (c) OGNL isn't
> being used to enough of an extent in this test to notice a difference
> (I'm frankly betting on that one).
>
> FYI, I've created JIRA ticket WW-2040... that way if others want to
> extend the apps, they can attach an updated version to the ticket so
> everyone can share.
>
> Frank
>
> cilquirm wrote:
> > Frank, would you care to give the same tests a shot with  ognl 2.7 and
> > javassist in the mix.
> >
> > Although none of this is purely scientific, at least evaluations on that
> > regard give us some level of subjective information.
> >
> > The ognl 2.7 and javassist jar are available via the tapestry-4.2-libs
> > download :
> >
> > http://tapestry.apache.org/download.html
> >
> >
> >
> >
> >
> > Frank W. Zammetti wrote:
> >> Dunno if this might help, but:
> >>
> >> http://www.omnytex.com/struts_benchmarking.zip
> >>
> >> In it you'll find two applications, one for S1 (1.3.8) and one for S2
> >> (2.0.8)... they are both (I think!) pretty much equivalent, and about
> as
> >> simplistic as you can get.  Also included is a JMeter test plan to run
> >> against them (just disable one or the other thread group, wouldn't want
> >> to test them both at the same time!).
> >>
> >> Just ran a quick-and-dirty comparison of the two using the test plan...
> >> I ran 100 users with no ramp-up... local Tomcat instance (6.0.13)...
> the
> >> one difference is that the S1 version was compiled with JDK 1.4.2, and
> >> the S2 version with 1.6.0, so there's at least one potentially big
> >> variance right up front... here's what I saw:
> >>
> >> S1 results:
> >> 4256 samples, 913 average, 108.6/sec throughput, 16.01 KB/sec
> >>
> >> S2 results:
> >> 4165 samples, 1974 average, 50.0/sec throughput, 7.38 KB/sec
> >>
> >> I'm not claiming this to be the perfect test, nor do I believe there's
> >> not some flaws in there (benchmarking is always a tough thing to get
> >> quite right, especially trying to do a comparison like this)... but,
> >> unless someone can point out some obvious mistakes I made, the numbers
> >> don't lie: S2 *looks*, *on the surface* at least, to be inherently
> twice
> >> as slow as S1.
> >>
> >> I'm not trying to make any sensational claims here, and again, I may
> >> have totally blown it in the first place (I did throw this together in
> >> about 30 minutes after all), but if we can use this as a basis going
> >> forward, maybe build it up as a more expansive, realistic and solid
> >> benchmarking suite, then it's all good in the end.
> >>
> >> Anyway, it's there, if anyone's interested.
> >>
> >> Frank
> >>
> >> --
> >> Frank W. Zammetti
> >> Founder and Chief Software Architect
> >> Omnytex Technologies
> >> http://www.omnytex.com
> >> AIM/Yahoo: fzammetti
> >> MSN: fzammetti@...
> >> Author of "Practical Ajax Projects With Java Technology"
> >>   (2006, Apress, ISBN 1-59059-695-1)
> >> and "JavaScript, DOM Scripting and Ajax Projects"
> >>   (2007, Apress, ISBN 1-59059-816-4)
> >> Java Web Parts - http://javawebparts.sourceforge.net
> >>   Supplying the wheel, so you don't have to reinvent it!
> >>
> >> Ing. Andrea Vettori wrote:
> >>> Il giorno 12/lug/07, alle ore 16:31, Guillaume Carré ha scritto:
> >>>
> >>>> 2007/7/12, Ing. Andrea Vettori <mail@...>:
> >>>>> Compared to nothing... they are pure numbers. They are simply just
> >>>>> good enought (to me).
> >>>>>
> >>>>> If we don't have this in mind we should use assember for everything
> :)
> >>>> what I meant was: maybe it could be a good idea to redevelop your
> >>>> screens with, say struts 1 for example, and compare the results
> >>> mmmm I can't do that... simply don't have the time... :)
> >>>
> >>>
> >>>>> In the high load test, after 10 seconds you have about 90 users (the
> >>>>> other 10 should have finished). Having a response time of 2,5
> seconds
> >>>>> for a db search and result display under such load seems very good
> to
> >>>>> me.
> >>>>>
> >>>>> Don't you ?
> >>>> it depends :-)
> >>>>
> >>>> "2.5s" doesn't say much to me, I would need to know how much time is
> >>>> consumed in your DB requests, how much time is consumed in your
> >>>> service layer, etc etc.
> >>>>
> >>>> Is it 90 users really active at the same time, meaning using 90
> >>>> threads on the server?if it is, do you have at least 90 connections
> in
> >>>> your pool?
> >>>> or did you put think times in your tests?
> >>>
> >>>
> >>> No think time...
> >>>
> >>> I have 250 threads but I have a limit of 50 connections on my pool.
> I'll
> >>> try to raise
> >>> the number of maximum connection to see if the MP3 list test gets
> better.
> >>>
> >>> However I think that struts alone is performing well for my app; don't
> >>> know if it's because
> >>> i'm using only few OGNL expressions on my jsp pages.
> >>>
> >>> --
> >>> Ing. Andrea Vettori
> >>> Consulente per l'Information Technology
> >>>
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: user-unsubscribe@...
> >>> For additional commands, e-mail: user-help@...
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> --No virus found in this incoming message.
> >>> Checked by AVG Free Edition.Version: 7.5.476 / Virus Database:
> >>> 269.10.4/897 - Release Date: 7/11/2007 9:57 PM
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-unsubscribe@...
> >> For additional commands, e-mail: user-help@...
> >>
> >>
> >>
> >
>
> --
> --
> Frank W. Zammetti
> Founder and Chief Software Architect
> Omnytex Technologies
> http://www.omnytex.com
> AIM/Yahoo: fzammetti
> MSN: fzammetti@...
> Author of "Practical Ajax Projects With Java Technology"
>   (2006, Apress, ISBN 1-59059-695-1)
> and "JavaScript, DOM Scripting and Ajax Projects"
>   (2007, Apress, ISBN 1-59059-816-4)
> Java Web Parts - http://javawebparts.sourceforge.net
>   Supplying the wheel, so you don't have to reinvent it!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@...
> For additional commands, e-mail: user-help@...
>
>


--
"Hey you! Would you help me to carry the stone?" Pink Floyd

Re: Struts 2 performance

by Aram Mkhitaryan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

there are some new results,

when setting the global theme to the simple one,
my S2 test application becomes 20 times faster,
but still it is 3 times slower then S1

> There should not be a noticable difference with OGNL yet. The performance
improvements in OGNL 2.7
> require expressions to be compiled before being executed. The current S2
code does not do this yet so
> it cannot realize the performance gains yet.
what does mean "compiled before being executed"?
S2 should do this?
Does someone know how to switch on the enhancement for ognl 2.7???

Best,
Aram
________________________________
Aram Mkhitaryan

52, 25 Lvovyan, Yerevan 375000, Armenia

Mobile: +374 91 518456
E-mail: aram.mkhitaryan@...

Re: Struts 2 performance

by Aram Mkhitaryan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

One more point for the test applications,

try do not use complicated pages with db calls and stuff like that
use simple pages where you have lots of ognl expressions (as there is ticket
in jira where it is noticed that profiler showed that the bottleneck is in
ognl expressions)

Best,
Aram
________________________________
Aram Mkhitaryan

52, 25 Lvovyan, Yerevan 375000, Armenia

Mobile: +374 91 518456
E-mail: aram.mkhitaryan@...

Re: Struts 2 performance

by Ted Husted :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 7/13/07, Aram Mkhitaryan <aram.mkhitaryan@...> wrote:
> Does someone know how to switch on the enhancement for ognl 2.7???

It's not a matter of throwing a switch. Some code would have to be
rewritten in XWork 2 and Struts 2, which some people (James Holmes)
are volunteering to do.

-Ted.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@...
For additional commands, e-mail: user-help@...


Re: Struts 2 performance

by Jessek :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Yep,  it should be relatively straightforward to do - there are of course some internal classloading considerations to make because of the bytecode enhancements...

I plan on either updating documentation directly on the OGNL opensymphony site or creating via some other means today and will then make myself available to whomever is planning on doing this for webwork/struts2/xwork/etc..  It's the least I can do for all the help Patrick has given me...

Sorry for not doing this sooner or replying in the thread earlier.  Yes the OGNL enhancements really should remove OGNL as a bottleneck in your typical request.  It's pure java code about 95% of the time.

jesse

Ted Husted wrote:
As they say, the proof of the pudding is in the taste. The performance
of Struts 2 is at least as good as WebWork 2, which powers a large
number of excellent sites, including Atlassian Confluence and Jive
Forums. Prior versions of Tapestry were also using OGNL, which seems
to be one of the bottlenecks, and it too powered some excellent sites.
Hopefully, James and other volunteers will be able to bring us up to
date with OGNL 2.7, and maybe we will also see the "night and day"
difference that Tapestry mentions.

-Ted.

Re: Struts 2 performance

by Aram Mkhitaryan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Maybe it's new just for me, but I found out one of the main reasons of the
problem

try to submit "%{@java.lang.System@exit(0)}" in the viewable property
for example you submit a text, and it is displayed by s2's tags

try and have fun ...

this expression works and my server shuts down!

the problem I mentioned is that when I say "print property" it executes it
at first ...
but it should not! I'm right, amn't I?

why it executes the string value in my property?
(it's not just a problem, it's a security risk, the users can hack s2 sites)
(at least who may read this message will know that he can hack s2 sites and
the simplest way is given above)

that's why even when you do not use ognl expressions, it still works and it
costs ...

Best,
Aram
________________________________
Aram Mkhitaryan

52, 25 Lvovyan, Yerevan 375000, Armenia

Mobile: +374 91 518456
E-mail: aram.mkhitaryan@...
< Prev | 1 - 2 - 3 - 4 | Next >