Delirium wrote:
One of the issues seems to be cache hits vs. non-hits,
as always.
Something I've poked around at a bit, but not found a clean way to start
hacking on without completely rewriting large section of the code, is
moving from a "render on view but cache" to a "render on edit, and then
just serve static pages on view" model. The "render on edit" would just
generate a static HTML file for non-logged-in users, so a large
proportion of page-views would never hit PHP at all.
Is something like that at all feasible?
I think it's feasible in that it's been done for similar sites, but it's
not necessarily a good direction to be heading in. Other systems that
have taken this approach (eg message boards) have sometimes found it to
be worse than the cache-on-view approach. You'd certainly have to do
some preliminary benchmarking first.
Remember that a change to one page can cause changes to other pages, and
those other pages all need to be updated. We don't really seem to have a
great system for working out the "dependencies" of a page change at the
moment, it seems when you include pages with {{}} you often have to
flush the cache to get them to re-render correctly. If you do decide to
rip the caching system apart, I hope you pay attention to this area,
since it's quite annoying.
Shane.