Performance of OPS 3.0 (Beta 3)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Performance of OPS 3.0 (Beta 3)

Michael Mayr
Hi,

I am running OPS 3.0 beta3 on Tomcat 5.5.9 with Sun
JSDK 1.5.0_04/Win2000Prof (server VM, Xmx 512) on a
Celeron 1.7 GHz. Right now if I click the BizDocNG
example it takes almost 10 seconds at 100% CPU to
start the overview, then again almost 10 seconds at
100% CPU if I click "Edit". That is really slow. And
I'm using it only myself (1 concurrent user). I think
the performance would be absolutely unacceptable for
multiple concurrent users as systems that use 100% CPU
will decrease in performance proportionally with
number of concurrent users.

I saw that performance is an known issue.

Now the question: What is it that makes it so slow? Is
there room for improvement for 3.0 final or can we
expect to be the performance roughly the same (which
then would be a showstopper for me, sadly)?

Cheers
Michael


       

       
               
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Performance of OPS 3.0 (Beta 3)

Hank Ratzesberger
Michael,

Indeed it is unfortunate that performance is an
issue.

My opinion is that it can be improved by writing
a custom epilogue processor.  Currently, the
epilogue does a lot of transformations.  Some of
these could be eliminated, for example, having the
includes for the theme css files be in your
view.xsl file.

The current examples are a very uncluttered
xml/html that better demonstrates the flexibility of
XForms to be adapted to other devices.  I think
this is the right approach, at least for now.

If you know that your application will only be
accessed by browsers, your view.xsl files could
include all kinds of css and JavaScript includes
or even code.  This is especially true of pages
that simply display data, no XForms.  Pipelines
can easily be written that only do one or two
transforms to create the html.  This is my
approach for now -- the XForms pages will be
pretty slow because they will use the epilogue.

Also, this is the kind of application that should
be tuned a bit for memory.  Check your Tomcat
startup settings and give the JRE as much memory
as you can.  OPS does have a caching mechanism.

--Hank
UCSB, California

----- Original Message -----
From: "Michael Mayr" <[hidden email]>
To: <[hidden email]>
Sent: Wednesday, September 28, 2005 4:51 AM
Subject: [ops-users] Performance of OPS 3.0 (Beta 3)


> Hi,
>
> I am running OPS 3.0 beta3 on Tomcat 5.5.9 with Sun
> JSDK 1.5.0_04/Win2000Prof (server VM, Xmx 512) on a
> Celeron 1.7 GHz. Right now if I click the BizDocNG
> example it takes almost 10 seconds at 100% CPU to
> start the overview, then again almost 10 seconds at
> 100% CPU if I click "Edit". That is really slow. And
> I'm using it only myself (1 concurrent user). I think
> the performance would be absolutely unacceptable for
> multiple concurrent users as systems that use 100% CPU
> will decrease in performance proportionally with
> number of concurrent users.
>
> I saw that performance is an known issue.
>
> Now the question: What is it that makes it so slow? Is
> there room for improvement for 3.0 final or can we
> expect to be the performance roughly the same (which
> then would be a showstopper for me, sadly)?
>
> Cheers
> Michael
>
>
>
>
>
>
> ___________________________________________________________
> Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de
>
>

--------------------------------------------------------------------------------


>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
>



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Performance of OPS 3.0 (Beta 3)

Erik Bruchez
Administrator
In reply to this post by Michael Mayr
Michael,

Some parts of the new XForms engine (namely the initialization, which
takes place the first time an XForms page is shown, but not for
subsequent Ajax interactions) have been written using multiple XSLT
transforms in the OPS epilogue. This accounts for most of the current
performance hit you are seeing. We plan to greatly improve this for 3.0
final, by rewriting those XSLT transformations natively. In what measure
peformance will be improved we cannot say yet, but we will do our best!

As a general rule though, you should never use a Celeron for anything
but reading email ;-) Kidding aside, using a modern CPU such as a
Pentium 4 @ ~3 GHz or equivalent is clearly the recommended hardware
platform for OPS.

-Erik

Michael Mayr wrote:

> Hi,
>
> I am running OPS 3.0 beta3 on Tomcat 5.5.9 with Sun
> JSDK 1.5.0_04/Win2000Prof (server VM, Xmx 512) on a
> Celeron 1.7 GHz. Right now if I click the BizDocNG
> example it takes almost 10 seconds at 100% CPU to
> start the overview, then again almost 10 seconds at
> 100% CPU if I click "Edit". That is really slow. And
> I'm using it only myself (1 concurrent user). I think
> the performance would be absolutely unacceptable for
> multiple concurrent users as systems that use 100% CPU
> will decrease in performance proportionally with
> number of concurrent users.
>
> I saw that performance is an known issue.
>
> Now the question: What is it that makes it so slow? Is
> there room for improvement for 3.0 final or can we
> expect to be the performance roughly the same (which
> then would be a showstopper for me, sadly)?
>
> Cheers
> Michael


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Ant: Re: Performance of OPS 3.0 (Beta 3)

Michael Mayr
Hi Erik,

nice to hear that there is room for improvement for
3.0 final. Can you give an estimate when 3.0 final
will be released? Is the output of the xforms
initialization phase cacheable so that this
performance hit will only occur for the first user?

Little thought experiment concerning your hardware
recommendations:

My Celeron 1.7 GHz has a Pentium 4 Core but not as
much cache and as far as I remember the FSB (Front
Side Bus) is about 30% slower. I expect a Pentium 4
1.7 GHz to be 50% faster in the best case. So the
recommended Pentium 4 3 GHz will roughly be 3 times
faster than my 1.7 Ghz Celeron. That means I will be
able to serve 3 concurrent users instead 1 with the
same performance I now have. And the user experience
of these 3 concurrent users won't be very pleasing.
But maybe I am aiming at possibly 50 or more
concurrent users. That means it would take 17(!!!)
Pentium 4 with 3 GHz for the same performance. And
that would be dedicated OPS machines in a scenario
where they don't have to run together with other J2EE
apps in a shared company appserver (maybe
unrealistic). And it would cost loads of money.
Scaling with hardware is always the worst thing to
recommend. That should only be seen as a last
resort...

But I know you are working on it, and that is a good
thing.

Cheers
Michael
--- Erik Bruchez <[hidden email]> schrieb:

> Michael,
>
> Some parts of the new XForms engine (namely the
> initialization, which
> takes place the first time an XForms page is shown,
> but not for
> subsequent Ajax interactions) have been written
> using multiple XSLT
> transforms in the OPS epilogue. This accounts for
> most of the current
> performance hit you are seeing. We plan to greatly
> improve this for 3.0
> final, by rewriting those XSLT transformations
> natively. In what measure
> peformance will be improved we cannot say yet, but
> we will do our best!
>
> As a general rule though, you should never use a
> Celeron for anything
> but reading email ;-) Kidding aside, using a modern
> CPU such as a
> Pentium 4 @ ~3 GHz or equivalent is clearly the
> recommended hardware
> platform for OPS.
>
> -Erik
>
> Michael Mayr wrote:
> > Hi,
> >
> > I am running OPS 3.0 beta3 on Tomcat 5.5.9 with
> Sun
> > JSDK 1.5.0_04/Win2000Prof (server VM, Xmx 512) on
> a
> > Celeron 1.7 GHz. Right now if I click the BizDocNG
> > example it takes almost 10 seconds at 100% CPU to
> > start the overview, then again almost 10 seconds
> at
> > 100% CPU if I click "Edit". That is really slow.
> And
> > I'm using it only myself (1 concurrent user). I
> think
> > the performance would be absolutely unacceptable
> for
> > multiple concurrent users as systems that use 100%
> CPU
> > will decrease in performance proportionally with
> > number of concurrent users.
> >
> > I saw that performance is an known issue.
> >
> > Now the question: What is it that makes it so
> slow? Is
> > there room for improvement for 3.0 final or can we
> > expect to be the performance roughly the same
> (which
> > then would be a showstopper for me, sadly)?
> >
> > Cheers
> > Michael
>
> >
> --
> You receive this message as a subscriber of the
> [hidden email] mailing list.
> To unsubscribe:
> mailto:[hidden email]
> For general help:
> mailto:[hidden email]?subject=help
> ObjectWeb mailing lists service home page:
> http://www.objectweb.org/wws
>


       

       
               
___________________________________________________________
Gesendet von Yahoo! Mail - Jetzt mit 1GB Speicher kostenlos - Hier anmelden: http://mail.yahoo.de



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Performance of OPS 3.0 (Beta 3)

Erik Bruchez
Administrator
Michael Mayr wrote:

 > nice to hear that there is room for improvement for 3.0 final. Can
 > you give an estimate when 3.0 final will be released?

We hope to be able to release by the end of October.

 > Is the output of the xforms initialization phase cacheable so that
 > this performance hit will only occur for the first user?

It may be if the page does not depend on too many variables, like a
submitted XML instance, etc., and you are right, this is an aspect to
look at. But in many cases, the page may be sufficiently dynamic that
caching is not a solution, and in that case improving the processing
time remains necessary.

Note that:

o Except for the XForms NG engine, OPS performance between 2.8 and 3.0
   beta 3 should not have changed for the worse.

o If you don't use XForms, XForms processing is entirely bypassed and
   performance will not take the hit currently required by the XForms
   engine initialization.

o As Hank suggested, you may be able to do some tuning of the
   epilogue. I refer you to this page for documentation about the page
   flow epilogue:

     http://www.orbeon.com/ops/doc/reference-epilogue

o You should be careful NOT to measure performance going through the
   examples portal, which basically generates two full pages each with
   epilogue and some extra processing: once for the example itself,
   once for the enclosing portal page. Your application typically will
   not run through the example portal, of course. A better measure of
   performance consists in bypassing the examples portal. For example,
   the BizDoc NG example is available directly under the path /bizdoc2,
   and the BizDoc Classic example under the path /bizdoc.

 > Little thought experiment concerning your hardware recommendations:
 >
 > My Celeron 1.7 GHz has a Pentium 4 Core but not as much cache and as
 > far as I remember the FSB (Front Side Bus) is about 30% slower. I
 > expect a Pentium 4 1.7 GHz to be 50% faster in the best case. So the
 > recommended Pentium 4 3 GHz will roughly be 3 times faster than my
 > 1.7 Ghz Celeron. That means I will be able to serve 3 concurrent
 > users instead 1 with the same performance I now have. And the user
 > experience of these 3 concurrent users won't be very pleasing.  But
 > maybe I am aiming at possibly 50 or more concurrent users. That
 > means it would take 17(!!!)  Pentium 4 with 3 GHz for the same
 > performance. And that would be dedicated OPS machines in a scenario
 > where they don't have to run together with other J2EE apps in a
 > shared company appserver (maybe unrealistic). And it would cost
 > loads of money.  Scaling with hardware is always the worst thing to
 > recommend. That should only be seen as a last resort...

I am not sure about the exact performance difference between Celeron
and regular P4 (OPS seems to benefit a lot on high memory bandwidth,
for example as of about 2 years ago, Pentium M laptops performed
almost as well as desktop CPUs for OPS processing), but your approach
is of course sound, and I was not suggesting that using a P4 3 GHz
would actually "solve" the performance problem.

So for now we must ask for a little patience until OPS 3.0 final.

-Erik



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws