and one more advice, for you and people reading about this. if you have large data like that that you want cached because retrieving it is slow, i would use an external cache. caching it in wicket-models is not the right place imho because as you can see wicket sometimes needs to serialize/clone pages. so having something like ehcache glued to your application object would work better for caching here. it will allow you the speed you need, and also keep the ui state down to a minimum - which will make your app clusterable and thus scalable for the future.
-igor On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> wrote: > > > Johan, Matej, Martijn, > thank you all for help! > > PS: one more reason to love this community :) > > > Johan Compagner wrote: > > > > if you just have 1 page with no back button support/all ajax > > then httpsessionstore is fine > > > > johan > > > > > > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> wrote: > >> > >> > >> It is a intranet application, so the number of users for this > application > >> is > >> at most ~30-40 users/day. A back button support is not needed, because > >> there > >> is a single page and also it doesn't make sense (since it is all ajax). > >> I'm still wondering, what is best in this case: > >> * Using HttpSessionStore > >> * Use 2nd level session store and make transient heavy object > references. > >> > >> Alex. > >> > >> > >> > >> Martijn Dashorst wrote: > >> > > >> > The only caveat you'll have is whether or not the backbutton is > >> > supported long enough, and how many copies of that page you want to > >> > have in memory. > >> > > >> > If the non-2nd level cache way works for you, then there is > absolutely > >> > nobody telling you to stop using it. The difference has mostly to do > >> > with providing backbutton support and optimizing memory usage. In > your > >> > case it is probably best to limit the backbutton, as you claim to > work > >> > a lot with ajax. So the back button functionality is probably already > >> > not working (users can press it, but they will leave your site, or go > >> > back to the login page). > >> > > >> > Profile the memory usage, multiply with the number of users you > expect > >> > and ask if it still fits on the machine available for your budget. > >> > > >> > The second level cache will still keep the last rendered page in > >> > memory as I understand it, so that 32MB will still be claimed, > >> > whatever store you choose. > >> > > >> > Martijn > >> > > >> > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> wrote: > >> >> > >> >> :) Unfortunately it's not a joke, but I'm glad you're having fun :D. > >> >> Actually, this is result of worst case scenario simulation (I told > you > >> >> that > >> >> there are heavy objects in the model). After making transient some > of > >> the > >> >> fields, the size of the page dropped dramatically. > >> >> > >> >> Alex. > >> >> > >> >> > >> >> Johan Compagner wrote: > >> >> > > >> >> > you got to be kidding me...32MB???? > >> >> > really? Or is this a nice joke so in the middle of the day :) > >> >> > > >> >> > johan > >> >> > > >> >> > > >> >> > > >> >> > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> wrote: > >> >> >> > >> >> >> > >> >> >> It is about 32MB. Kind a big page :) > >> >> >> > >> >> >> > >> >> >> Matej Knopp-2 wrote: > >> >> >> > > >> >> >> > Turn on SecondLevelCacheSessionStore, and use FilePageStore as > >> >> >> > IPageStore (specified in session store constructor). Then go to > >> your > >> >> >> > tmp dir and you should be able to find the serialized pages > >> there. > >> >> >> > > >> >> >> > -Matej > >> >> >> > > >> >> >> > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> wrote: > >> >> >> >> > >> >> >> >> How can I figure it out? > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> Johan Compagner wrote: > >> >> >> >> > > >> >> >> >> > if you save the page to disk how big is it? > >> >> >> >> > > >> >> >> >> > johan > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> > wrote: > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> Indeed, it is a very big component hierarchy (It contains > at > >> >> least > >> >> >> 3 > >> >> >> >> >> levels > >> >> >> >> >> of nested AjaxTabbedPanel components). > >> >> >> >> >> The application is, in fact, a single page and it uses a > lot > >> of > >> >> >> ajax > >> >> >> >> to > >> >> >> >> >> perform the updates. The model reflect the component > >> hierarchy > >> >> >> >> >> (Appliction > >> >> >> >> >> has a single modelObject which nests another objects > >> >> corresponding > >> >> >> to > >> >> >> >> >> each > >> >> >> >> >> component). I do not have a lot of detaching logic, because > >> it > >> >> is > >> >> >> >> >> important > >> >> >> >> >> to have all the data in the model (caching), also because > the > >> >> >> services > >> >> >> >> >> are > >> >> >> >> >> very costly operations. > >> >> >> >> >> > >> >> >> >> >> If this description is not enough for replication, I will > be > >> >> glad > >> >> >> to > >> >> >> >> help > >> >> >> >> >> by > >> >> >> >> >> giving you another details. > >> >> >> >> >> > >> >> >> >> >> Alex. > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> Martijn Dashorst wrote: > >> >> >> >> >> > > >> >> >> >> >> > How big is the page? Sounds like a really, really big > >> >> component > >> >> >> >> >> > hierarchy. Then it sounds reasonable that the httpsession > >> >> store > >> >> >> is > >> >> >> >> >> > much faster: it keeps it in ram, and doesn't use > >> serialization > >> >> >> until > >> >> >> >> >> > the session is serialized (server shutting down, deciding > >> to > >> >> put > >> >> >> >> >> > session to disk or replication of session across cluster) > >> >> iirc. > >> >> >> >> >> > > >> >> >> >> >> > I think we would appreciate some way of replicating your > >> >> results. > >> >> >> I > >> >> >> >> >> > assume you can't share the actual code, but could you > share > >> a > >> >> >> >> spin-off > >> >> >> >> >> > of the page's component structure and a Model that > >> replicates > >> >> the > >> >> >> >> data > >> >> >> >> >> > stuff's size (including the detach logic)? > >> >> >> >> >> > > >> >> >> >> >> > Martijn > >> >> >> >> >> > > >> >> >> >> >> > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> > >> wrote: > >> >> >> >> >> >> > >> >> >> >> >> >> If the pages wouldn't be serializable, it wouldn't work > in > >> >> >> >> development > >> >> >> >> >> >> mode. > >> >> >> >> >> >> Is it right? > >> >> >> >> >> >> > >> >> >> >> >> >> I think that it is not necessarily about how large is > >> >> >> application, > >> >> >> >> in > >> >> >> >> >> my > >> >> >> >> >> >> case it is about how large is the model I'm working with > >> for > >> >> >> that > >> >> >> >> >> >> specific > >> >> >> >> >> >> request (ajax request). > >> >> >> >> >> >> > >> >> >> >> >> >> My action was: fetch a subview of a very large table > >> 300x300, > >> >> >> each > >> >> >> >> >> cell > >> >> >> >> >> >> has > >> >> >> >> >> >> a heavy model object. > >> >> >> >> >> >> > >> >> >> >> >> >> Alex. > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> Johan Compagner wrote: > >> >> >> >> >> >> > > >> >> >> >> >> >> > that looks very strange to me. We have also a very > large > >> >> app > >> >> >> here > >> >> >> >> >> and > >> >> >> >> >> >> we > >> >> >> >> >> >> > dont notice a difference > >> >> >> >> >> >> > So i am very curious what is happening at your place > >> then. > >> >> Are > >> >> >> >> you > >> >> >> >> >> sure > >> >> >> >> >> >> > for > >> >> >> >> >> >> > example that the pages > >> >> >> >> >> >> > are serializable ? That we don't have constantly > >> >> exceptions? > >> >> >> >> >> >> > > >> >> >> >> >> >> > johan > >> >> >> >> >> >> > > >> >> >> >> >> >> > > >> >> >> >> >> >> > On 9/10/07, Alex Objelean <[EMAIL PROTECTED]> > >> >> wrote: > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> Maybe the profiling was not a perfect one. But still, > I > >> >> have > >> >> >> to > >> >> >> >> >> give > >> >> >> >> >> >> up > >> >> >> >> >> >> >> using > >> >> >> >> >> >> >> SecondSessionLevelStore just because the > responsiveness > >> of > >> >> >> the > >> >> >> >> >> >> >> application > >> >> >> >> >> >> >> is very slow. > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> Johan Compagner wrote: > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > invocation count 1?? > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > So you only do 1 request and you profile that? > >> >> >> >> >> >> >> > thats not a good test. You have to do plenty and > >> >> multiply > >> >> >> on > >> >> >> >> the > >> >> >> >> >> >> same > >> >> >> >> >> >> >> > time > >> >> >> >> >> >> >> > (10 for 100 request or something like that) > >> >> >> >> >> >> >> > to really see the difference. (and have a warm up > >> phase) > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > johan > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > On 9/10/07, Alex Objelean > >> <[EMAIL PROTECTED]> > >> >> >> wrote: > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> Matej, I must disagree with you regarding > >> performance > >> >> >> issues > >> >> >> >> of > >> >> >> >> >> the > >> >> >> >> >> >> >> >> SecondLevelSessionStore. I've reverted the > >> >> >> >> >> >> Application#newSessionStore > >> >> >> >> >> >> >> to > >> >> >> >> >> >> >> >> HttpSessionStore and this significantly improved > the > >> >> >> >> application > >> >> >> >> >> >> >> overall > >> >> >> >> >> >> >> >> performance. Maybe this is not so obvious for > small > >> >> >> >> >> applications, > >> >> >> >> >> >> but > >> >> >> >> >> >> >> >> when > >> >> >> >> >> >> >> >> it is about a large one - things changes. > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> Below, you will find attached two images. The > first > >> one > >> >> is > >> >> >> a > >> >> >> >> >> >> profiling > >> >> >> >> >> >> >> of > >> >> >> >> >> >> >> >> an > >> >> >> >> >> >> >> >> action when working with HttpSessionStore, the > >> second > >> >> one > >> >> >> is > >> >> >> >> a > >> >> >> >> >> >> >> profiling > >> >> >> >> >> >> >> >> for > >> >> >> >> >> >> >> >> the same action when using > SecondSessionLevelStore. > >> The > >> >> >> >> >> difference > >> >> >> >> >> >> is > >> >> >> >> >> >> >> >> huge: > >> >> >> >> >> >> >> >> 593ms vs 174420ms. I cannot explain what exactly > is > >> >> going > >> >> >> on, > >> >> >> >> >> but > >> >> >> >> >> >> I've > >> >> >> >> >> >> >> >> noticed that by switching from default > >> >> >> >> SecondLevelSessionStore > >> >> >> >> >> to > >> >> >> >> >> >> the > >> >> >> >> >> >> >> >> HttpSessionStore improved a lot the responsiveness > >> of > >> >> the > >> >> >> >> >> >> application. > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> Alex. > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> http://www.nabble.com/file/p12588790/HttpSessionStore.jpg > >> >> >> >> >> >> >> >> > >> >> >> >> > http://www.nabble.com/file/p12588790/SecondSessionLevelStore.jpg > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> Matej Knopp-2 wrote: > >> >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> >> > You can revert to httpsessionstore by changing > >> >> >> >> >> >> >> >> > Application.newSessionStore method. But that's > not > >> >> >> >> >> recommended. > >> >> >> >> >> >> What > >> >> >> >> >> >> >> >> > are your performance problems? I doubt it is > >> caused > >> >> by > >> >> >> the > >> >> >> >> >> >> session > >> >> >> >> >> >> >> >> > store. > >> >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> >> > -Matej > >> >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> >> > On 9/7/07, jamieballing < > [EMAIL PROTECTED]> > >> >> >> wrote: > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> We are trying to do some performance > >> troubleshooting > >> >> >> and > >> >> >> >> want > >> >> >> >> >> to > >> >> >> >> >> >> >> >> disable > >> >> >> >> >> >> >> >> >> the > >> >> >> >> >> >> >> >> >> second level page cache. > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> Is there any way to do this? > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> Thanks, > >> >> >> >> >> >> >> >> >> Jamie > >> >> >> >> >> >> >> >> >> -- > >> >> >> >> >> >> >> >> >> View this message in context: > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12563895 > >> >> >> >> >> >> >> >> >> Sent from the Wicket - User mailing list > archive > >> at > >> >> >> >> >> Nabble.com > >> >> >> >> >> . > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> > >> --------------------------------------------------------------------- > >> >> >> >> >> >> >> >> >> 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] > >> >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> -- > >> >> >> >> >> >> >> >> View this message in context: > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12588790 > >> >> >> >> >> >> >> >> Sent from the Wicket - User mailing list archive > at > >> >> >> >> Nabble.com. > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> > >> >> > --------------------------------------------------------------------- > >> >> >> >> >> >> >> >> To unsubscribe, e-mail: > >> >> >> [EMAIL PROTECTED] > >> >> >> >> >> >> >> >> For additional commands, e-mail: > >> >> >> [EMAIL PROTECTED] > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> -- > >> >> >> >> >> >> >> View this message in context: > >> >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12589190 > >> >> >> >> >> >> >> Sent from the Wicket - User mailing list archive at > >> >> >> Nabble.com > >> >> >> . > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> > >> --------------------------------------------------------------------- > >> >> >> >> >> >> >> To unsubscribe, e-mail: > >> >> [EMAIL PROTECTED] > >> >> >> >> >> >> >> For additional commands, e-mail: > >> >> [EMAIL PROTECTED] > >> >> >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >> >> >> > > >> >> >> >> >> >> > > >> >> >> >> >> >> > >> >> >> >> >> >> -- > >> >> >> >> >> >> View this message in context: > >> >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12589567 > >> >> >> >> >> >> Sent from the Wicket - User mailing list archive at > >> >> Nabble.com. > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> > >> >> > --------------------------------------------------------------------- > >> >> >> >> >> >> To unsubscribe, e-mail: > >> [EMAIL PROTECTED] > >> >> >> >> >> >> For additional commands, e-mail: > >> [EMAIL PROTECTED] > >> >> >> >> >> >> > >> >> >> >> >> >> > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > -- > >> >> >> >> >> > Buy Wicket in Action: http://manning.com/dashorst > >> >> >> >> >> > Apache Wicket 1.3.0-beta3 is released > >> >> >> >> >> > Get it now: > >> >> >> http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta3/ > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> > >> >> > --------------------------------------------------------------------- > >> >> >> >> >> > To unsubscribe, e-mail: > [EMAIL PROTECTED] > >> >> >> >> >> > For additional commands, e-mail: > >> [EMAIL PROTECTED] > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > > >> >> >> >> >> > >> >> >> >> >> -- > >> >> >> >> >> View this message in context: > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12590414 > >> >> >> >> >> Sent from the Wicket - User mailing list archive at > >> Nabble.com > >> . > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> > >> --------------------------------------------------------------------- > >> >> >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> >> >> >> For additional commands, e-mail: > [EMAIL PROTECTED] > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > >> >> >> >> -- > >> >> >> >> View this message in context: > >> >> >> >> > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12590627 > >> >> >> >> Sent from the Wicket - User mailing list archive at Nabble.com > . > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> > --------------------------------------------------------------------- > >> >> >> >> 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] > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > >> >> >> -- > >> >> >> View this message in context: > >> >> >> > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12591276 > >> >> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> >> > >> >> >> > >> >> >> > >> --------------------------------------------------------------------- > >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> >> > >> >> >> > >> >> > > >> >> > > >> >> > >> >> -- > >> >> View this message in context: > >> >> > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12592522 > >> >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> > --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> >> For additional commands, e-mail: [EMAIL PROTECTED] > >> >> > >> >> > >> > > >> > > >> > -- > >> > Buy Wicket in Action: http://manning.com/dashorst > >> > Apache Wicket 1.3.0-beta3 is released > >> > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.0-beta3/ > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >> > For additional commands, e-mail: [EMAIL PROTECTED] > >> > > >> > > >> > > >> > >> -- > >> View this message in context: > >> > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12592818 > >> Sent from the Wicket - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Disable-the-SecondLevelPageCache--tf4403977.html#a12593058 > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >