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.