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]>

Reply via email to