Hi,
I had a closer look to the problem (reported by some of our developers):
There are a few really big pages. Formerly these where separate pages
but since we changed everything to ajax navigation, these pages are
consolidated to one page. I tested everything on a machine that runs the
workspace on a hardware raid on SSDs where IO performance should not be
the problem at all. After starting the webapp, the first load of this
page takes ~30 seconds. I changed tapestrys log level to "ALL" and
restarted - the page load took >4 minutes and printed several 100.000
log lines. Most log lines (and probably most time) is in
ParameterWorker. It takes about 90% of the component assembling time.
Subsequent reloads take just a few milliseconds. After modifying the
page, reload takes again >4 minutes with full debug.
Most time is spend in ParameterWorker (logs from line 319, 329 and 340).
Another place which takes lot time is Registry (logs from line 67 and 81).
Since the code in ParameterWorker is called some 100.000 or millions
times, speedup there would bring a big performance plus.
But maybe there are other ways to improve performance?
There are also a couple of performance tips at the very bottom of
http://tapestry.apache.org/class-reloading.html
On Mon, Jan 7, 2013 at 10:33 AM, Thiago H de Paula Figueiredo
<[email protected]> wrote:
On Mon, 07 Jan 2013 12:29:37 -0200, Michael Wyraz
<[email protected]> wrote:
Hi,
Hi!
we have a big project with Tapestry 5.3. There are many pages, lots of
components and many links between the pages (@Injects of other pages).
The problem is that after a change, the first page reload takes >5 seconds
on good hardware because there is much work for the tapestry page compiler
which wastes much time of our developers.
There isn't a Tapestry page compiler, just a template parser and some
internal code that creates the page instances. There's no language
transformation, so, for me, it isn't compiling at all.
The first thing I think you should do is to do some profiling and check
whether these 5+ seconds are really all spent in Tapestry internals or if
there's some application-specific processing going on (method calls,
database queries, etc).
--
Thiago H. de Paula Figueiredo
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
Mit freundlichen Grüßen / Regards
Michael Wyraz
evermind GmbH
Schorlemmerstraße 1
04155 Leipzig
Tel.: +49 (0)341-25 39 66 - 0
Fax: +49 (0)341-25 39 66 - 1
Funk: +49 (0)177-73 00 00 3
E-Mail: [email protected]
HRB: 21586
Amtsgericht Leipzig
Geschäftsführer:
Christoph Klemm
Thomas Grünert
Michael Wyraz
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]