22976 Posts in 11702 Topics by 2826 members
|Go to End|
17 July 2010 at 2:50am
my name is james, and i work for a credit union in south australia with about 50,000 members. we are looking at redeveloping our website, and since i have put my hand up to develop the website in house rather than go to an external developer.
as a background for my own skillset, i have been involved in web design/development for near on 10 years now. i have a fairly wide skillset, but lately most of my work has been with wordpress, which i've used to develop dynamic websites that i can handover to clients with a minimum of fuss. i also find coding wordpress second nature, and the wealth of plugins has proven to be a timesaver.
but enough about me.
in terms of the site, it currently has around 6,000 visitors per day. i don't know if you'd consider that 'high traffic', but i certainly do... most of my freelance work doesn't really see hits anywhere near that amount.
will silverstripe be suitable for a website with this level of traffic?
i'm attracted to silverstripe as the CMS frontend is really, really nice and the structure of pages is really flexible. templating also seems to be very easy, and just makes sense to me coming from wordpress.
i have checked out drupal and joomla, and they just didn't seem to check all the boxes like silverstripe does. they kind of seem limited in their structuring of pages (or at least one of the two did, i cant remember which one), and the learning curve just felt much steeper than silverstripe.
i'd appreciate candid answers as it's going to be my head on the chopping block if i recommend an unstable cms platform!
also, i know this is a silverstripe forum, but if you guys have other suggestions on robust and functional cms platforms, i'm willing to listen.
17 July 2010 at 9:54am Last edited: 18 July 2010 12:52pm
This thread might be of interest to you:
PS: like you said, other platforms will have a much steeper learning curve, but Drupal will be a lot lighter - and a lot more difficult to do
Edit: fixed link
17 July 2010 at 1:30pm Last edited: 17 July 2010 3:17pm
Hi. The link in the previous post didn't work for me, so I might be repeating what's been said before.
SilverStripe can handle high-volume sites (we have built several, including one that peaks at well over 100,000 hits per day). There are a variety of mechanisms that can come into play at different levels of the stack. You need to have a good handle on all aspects of the stack, as performance will be determined by the weakest part. In no particular order:
* static publishing module - for pages that only change when published or on controlled events, SilverStripe can generate a static HTML representation of the page that is served directly by apache, no PHP execution.
* partial caching - when a page is dynamic and cannot be statically published, partial caching can significantly improve the site performance by caching expensive parts of the page, and only requiring computation for the most dynamic parts.
* install APC or similar accelerator
* combining/minimising css and js
* setting expiry appropriately on server content
* serving static content like images etc using a lighter-weight and faster web server, falling back to apache for dynamic pages. For example, using nginx and apache together. This will serve assets very quickly, and dynamic content at the usual speed.
* bigger and better hardware (including network)
* use multiple web servers (this is not that hard to do, but requires a little care around change control and uploaded assets propagating to all servers, for example, and avoiding holding state with PHP sessions.)
yahoo yslow (http://developer.yahoo.com/performance/rules.html) covers a bunch of detail things around this.
Of course, design decisions can also affect performance:
* if you need to call web services from the back-end, consider if you can cache that data.
* de-normalised/pre-calculated summary data on high-traffic pages, really a custom form of caching.
I'm not aware of any other CMS that makes this problem much easier than SilverStripe, certainly while providing the breadth of functionality.
|Go to Top|