Pretty good thanks!



-----Original Message-----
From: Simon.Chappell [mailto:[EMAIL PROTECTED]]
Sent: Thursday, July 11, 2002 4:41 PM
To: struts-user
Subject: RE: where can caching help performance?


Bill,

There are no docs that I know of to point you at. We designed this 
ourselves when we were given our requirements.

We have a backend Database subsystem that contains two sub-subsystems, 
one for caching and one for data access. The API for the Database 
subsystem always looks in the cache first and then if it cannot find 
what it needs, it goes to the data access and requests the data from the 
database.

Because we know what order our shipments are scheduled to be sent to the 
packing area we are able to intelligently cache the data in usage 
sequence. So we have a background DB cache thread that makes certain 
that we have the next hour or two's data cached and also takes care of 
flushing any used data in the cache that is more than an hour old. This 
gives us a very high hit rate on our cache.

How's that for an overview?

Simon

>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED]]
>Sent: Thursday, July 11, 2002 3:27 PM
>To: [EMAIL PROTECTED]
>Subject: RE: where can caching help performance?
>
>
>
>Hi Simmon,
>
>Can you point me at any docs on building the objects ahead of time and 
>caching them?
>
>Thanks
>
>Bill
>
>-----Original Message-----
>From: Simon.Chappell [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, July 11, 2002 4:07 PM
>To: struts-user
>Subject: RE: where can caching help performance?
>
>
>We have found that the biggest bang for the buck comes with 
>pre-fetching 
>data out of the database and building our business objects 
>ahead of time 
>and storing them in an in-memory cache. This means that we have a very 
>large cache (we estimate at least a gig when we get fully 
>ramped up for 
>phase one and more after that), but we get phenominal throughput from 
>it. Our reason for this was a maximum processing time of 3.6 
>seconds and 
>we knew that we could not allow the database access to be the choke 
>point in the system.
>
>Concerning cache freshness, we confirm with a simple database 
>query that 
>the timestamp has not changed since we cached the data. This simple 
>check takes less than 10ms, while the big multiple table joins 
>to build 
>our main object can total between a quarter and a half a second.
>
>And of course we have database pooling active.
>
>Hope this helps.
>
>Simon
>
>-----------------------------------------------------------------
>Simon P. Chappell                     [EMAIL PROTECTED]
>Java Programming Specialist                      www.landsend.com
>Lands' End, Inc.                                   (608) 935-4526
>
>
>>-----Original Message-----
>>From: Jamie J [mailto:[EMAIL PROTECTED]]
>>Sent: Thursday, July 11, 2002 2:51 PM
>>To: [EMAIL PROTECTED]
>>Subject: where can caching help performance?
>>
>>
>>I'm wondering how people speed up their MVC webapps.
>>
>>Taglibs for caching parts of jsps seem like a good way
>>of improving the speed of a web app (see:
>>http://jakarta.apache.org/taglibs/doc/cache-doc/intro.html,
>> http://www.opensymphony.com/oscache/tags.html, the
>>one that comes with weblogic etc).  
>>
>>e.g. (pseudo-tag):
>><foo:cache timout="5mins">
>>
>><!-- query the database and display details of the 10
>>most recent news items, or something -->
>>
>></foo:cache>
>>
>>However they don't help much if you've got an MVC app,
>>because all your database access etc happens before
>>the view of it is rendered, as opposed to as it is
>>rendered  which is where these taglibs are useful.  
>>
>>Is the only option with MVC to cache the data?  The
>>idea of caching the rendering of it too is appealing -
>>if they data hasn't changed, why keep re-rendering it?
>>(assuming everyone's view of it is the same).  It is
>>particularly appealing when you consider that it can
>>be done with no code changes - you can put a (servlet
>>2.3) filter in front of servlets/jsps you wanted
>>cached.
>>
>>Its portal-style applications that I'm thinking of
>>here, where you have discrete components of a page
>>which all may involve some database (or other
>>timeconsuming) activity, but the data doesn't change
>>often so the cached view of it can be updated every
>>X-minutes or so.
>>
>>What approaches do people use to speed up such apps? 
>>Is caching really only an option in the model, rather
>>than the view? (assuming its not the whole page you're
>>caching).
>>
>>--
>>jamie
>>
>>__________________________________________________
>>Do You Yahoo!?
>>Sign up for SBC Yahoo! Dial - First Month Free
>>http://sbc.yahoo.com
>>
>>--
>>To unsubscribe, e-mail:   
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: 
><mailto:[EMAIL PROTECTED]>
>
>
>--
>To unsubscribe, e-mail:   
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: 
><mailto:[EMAIL PROTECTED]>
>
>
>
>--
>To unsubscribe, e-mail:   
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: 
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: 
<mailto:[EMAIL PROTECTED]>



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to