> I have a few questions:
>
> 1) Does anyone know of Wicket being used on a high traffic website?

I know of people building them, but the ones I know are not yet in
full production. But maybe someone else on this list knows.

> 2) What are some of the challenges related to scaling a Wicket
> application (beyond the general servlet recommendations of being
> stateless as long as possible, keeping the state small to facilitate
> clustering, etc)?

The only tradeoff of Wicket is that Wicket is heavy on memory. While
that is not a big problem per se, it is something to keep in the back
of your mind, and one of the first things you would optimize when the
time comes to tweak your application. In general, try to use
detachable models when you create database driven apps, tweak the
number of history items kept, etc. Oh, and don't forget to set wicket
to deployment:

        <context-param>
          <param-name>configuration</param-name>
          <param-value>deployment</param-value>
        </context-param>

in web.xml. That'll have quite a big impact on the throughput.

One thing to be careful of is Wicket with (public facing) sites with a
load that is hard to predict. If you have very large peaks you
probably want to keep your session time out low, and investigate
stateless pages (and forms and links etc), which are most mature in
Wicket 2.0 (though there is limiited support in 1.2).


> 3) Tapestry uses page and component pooling to help achieve higher
> throughput...

Yeah, and whether that is a good thing is highly debatable. If you
read up on optimizing Java code, object pooling is usually on top of
the list of things you *should not* do, as it is likely the
synchronization you need will the bottleneck and hotspot is very good
in managing short lived objects.

We have tested Tapestry vs Wicket performance a bit over a year ago,
to look for spots we might optimize, and our results were that Wicket
had a higher throughput even without optimization.

> It doesn't appear like Wicket can employ such a
> technique due to the framework allowing direct page and component
> instantiation. Are pages and components so light weight pooling them
> is not worth the disadvantages of not being able to pass parameters
> via constructor or is this a known trade off?

Wicket's unmanaged model encompasses much more than just passing in
parameters in the constructor. It means you decide on any form of
construction you like, it means you can program 'just java' as you
would do in other tiers of your application, and you can construct all
the aggregations you want. Furthermore, like I said above, pooling is
not even an advantage.

> Thanks for any information you can provide! I will be sure to post the
> results of my investigation on this list in a week or two.
>
> Ryan

Sure. Maybe you want to share the exact tests you're doing too?

Eelco

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to