When you are dealing with the levels of traffic seen on sites like the Democratic National Convention, it's not enough to dynamically serve every page view.  You need to change your approach.

To this end, there is a new feature in the trunk / daily build version of SilverStripe: "static publishing".  What happens is that each time you publish a page in the CMS, it will generate static versions of appropriate URLs.  You can then configure Apache to send these files directly to the visitors, without hitting Sapphire or the database.  And because the cache generation is linked to the publish function, your cached site is kept up to date.

The result: the ability to serve 100s of requests / second from a single server, provided your network bandwidth can hack it!

For more information, see the documentation wiki.  This documentation will be expanded in the coming weeks.

 -- Sam

Post your comment

Comments for this post are now closed.



Will this work like a static catalog and physically generate and keep the pages as .html files on server. I tried this but couldn't make it work.

Posted on 17 Jul 2009 by Web Architect

Thats really great, I am going to try it soon on my web site

Posted on 4 Sep 2008 by Nivanka

Awesome, just awesome. Another great feature, great to see SilverStripe being advanced by real projects in the field!

Posted on 2 Sep 2008 by DesignCity

I tried installing this yesterday, but it borked my site and I spent the rest of the day restoring. no biggie, but I figured before I give it another go I'd ask if this solves the initial lag when using silverstripe on a cluster/grid server like media temple. that 5-10 second delay on the first request is killing me.

Posted on 1 Sep 2008 by dashiel

AjShort, just something you might find interesting. Large scalability of dynamic content generally scales out in servers rather than gets static-like request speeds. For instance, Facebook's page loads are still over 100ms so they have a large number of servers... http://www.flickr.com/photos/500hats/398658960/

Posted on 29 Aug 2008 by Sigurd Magnusson

Ajshort; yes; rsync was used for DemConvention and is briefly described i the documentation linked above. Hannes; You can be selective about which pages are fully cached and which are dynamic. Thanks for suggesting what you'd like to see so that we can consider what to improve in the future! :)

Posted on 29 Aug 2008 by Sigurd Magnusson

It's good to see the ability to use static files to serve requests rather than using a full blown questions. Will the functionality for remote caching (e.g. using rsync) also be supported? I know this would be great for people like me who want to use the admin panel to administrator a site on their low memory VPS etc.

Posted on 29 Aug 2008 by ajshort

Thats Great! but if you have som (just a little bit) dynamic Stuff in your Site, like, i dunno, a logged in status/name and you dont wanna load that with ajax you will still have a major Problem :) so i hope a half dynamic Cache is next! Keep on the good work! Hannes.

Posted on 29 Aug 2008 by Johannes