[SPT/CWIS] content caching w/ PEAR::Cache_Lite

Kucera, Rich Kucerar at hhmi.org
Wed Jun 7 15:57:00 CDT 2006


Ed,

Have found PEAR::Cache_Lite to be a much better fit (simpler than Smarty) for
CWIS.  It uses plain old PHP output buffering under the hood.  

Cache_lite is much better drop-in content caching mechanism than using a
templating system only for its built-in cache mechanism :-)

Pear package install is easy(all of pear is also preloaded in xampp).  

The work is basically 1) putting in the cache_lite init boilerplate,  2)
devising a scheme to encode a cache ID based on query parameters,  3) then
starting the cache_lite output buffering at the top of AdvancedSearch.php and
ending it at the bottom.

Also about to add eaccelerator package for opcode caching.

-Rich


-----Original Message-----
From: spt-cwis-users-bounces at scout.wisc.edu
[mailto:spt-cwis-users-bounces at scout.wisc.edu] On Behalf Of Kucera, Rich
Sent: Wednesday, June 07, 2006 1:39 PM
To: SPT / CWIS Users Discussion List
Subject: RE: [SPT/CWIS] content caching w/ smarty

Thanks Ed,

Am also looking at eAccelerator for opcode caching,  due to one of the
consequences of doing PHP right was that eAccelerator is no longer just in
the mix (as it is in xampp stack).

Ran across the second kind of caching for which there's a large payoff for
little work (content caching) in the book PHP Power Programming (available
free online now).  I found this kind of caching support to be mature in full
frameworks Symfony (PHP) and Rails (Ruby).  It also is mature in low-level
templating engines Smarty (PHP) and Myghty (Python) (probably more mature in
Myghty with its support of sub-page element caching).

The other frameworks I was looking at offered no support,  or very little
support,  for this feature.  Zend Framework offers an article on how to
integrate with smarty,  but then you end up doing everything symfony does
manually.  Cake tries but falls pretty short of symfony.  None of the python
full frameworks support it to any degree that I found (django, turbogears,
jury's still out on zope/plone).   

There's a couple other types of optimization(enumerated in the PHP PP Book)
that I'm not looking at,  because they don't seem worth it.  Just will focus
on these two types.

Right now,  Smarty seems like a good drop-in content cache mechanism for
CWIS.  Will let you know how it goes. :-)

-Rich

p.s.  It's nice to find one issue to be a good differentiator when you're
drowning in frameworks.


-----Original Message-----
From: spt-cwis-users-bounces at scout.wisc.edu
[mailto:spt-cwis-users-bounces at scout.wisc.edu] On Behalf Of Edward Almasy
Sent: Wednesday, June 07, 2006 12:53 PM
To: SPT / CWIS Users Discussion List
Subject: Re: [SPT/CWIS] content caching w/ smarty

On Jun 7, 2006, at 11:34 AM, Kucera, Rich wrote:
> Would you advise using Smarty for content caching (at the page level)?

    We've looked at Smarty, but haven't done any testing
    with it, so I can't say whether it would have much of
    an effect on performance.

    Given the structure of the SPT/CWIS code, if performance
    is an issue on your site you might want to consider
    using one of the available PHP accelerators, which parse
    the PHP source into opcodes and then cache the opcodes
    for frequently-loaded files.  There's a recent review of
    the most popular accelerator choices here:

      http://www.ipersec.com/index.php?q=en/bench_ea_vs_apc

    With more and more of the underlying logic being pushed
    down into component objects with each release of SPT and
    CWIS, I'd expect this type of accelerator to provide
    increasing performance gains in the future.

    Ed


    P.S.  (If you do give Smarty or an accelerator a try,
    please don't hesitate to share your experiences with the
    rest of us. :-))



---
    Edward Almasy                                      
ealmasy at scout.wisc.edu
    Co-Director                                         1210 W Dayton  
Street
    Internet Scout                                          Madison  
WI 53706
    Computer Sciences Department                        608-262-6606  
(voice)
    University of Wisconsin - Madison                      
608-265-9296 (fax)



_______________________________________________
SPT-CWIS-Users mailing list
SPT-CWIS-Users at scout.wisc.edu
http://scout.wisc.edu/mailman/listinfo/spt-cwis-users
_______________________________________________
SPT-CWIS-Users mailing list
SPT-CWIS-Users at scout.wisc.edu
http://scout.wisc.edu/mailman/listinfo/spt-cwis-users



More information about the SPT-CWIS-Users mailing list