Performance on large scaled websites1 user found helpful
There's a project I'm currently working on. Initially, joomla was the system of choice most of all just because of its stability and tried performance even if there are 100.000+ unique visitors per day.
So, does anybody already use it on a comparable website and do you think it could handle it at all?
the first site we ever built with concrete cms washttp://lewisandclark200.org - they did national tv spots so they were getting peaks of 10,000 users/second. that went fine.
in 2007 we built a affiliate marketing widget site with concrete v4. that went... okaaay.. the site itself got built super fast, which made us hero's, but as with any thing done quickly, there were some queries that were less than perfect around some of the rather massive custom work we did. As they also had times where they'd get on national TV and we'd see many thousands of users per second, things got reaaaal slow fast.
the solution was to bring in more machines, pull the database onto its own server.. create master/slave servers for it... put concrete on a few servers, create load balancing for it.. all of this was done, but im not sure it was quite the right move. We had more control in these high load situations, but it was still a challenge when you were unexpectedly woken with news that the site was slow.. not fun times..
the real thing to think about is how are you using the app? concrete5 is a content management system, its not an application development framework even though it very much has that feel in parts. if visitors to your site are just browsing a couple of pages and leaving, we'll thats gonna be pretty easy to deal with. There's some new caching stuff in RC5.2 that should make this a slam dunk at the levels you're talking about.
on the flip side, if users are logging in, making accounts, interacting with the database, etc.. you're going to have optimization problems period. Joomla is not a good choice for that either, nor would drupal... perhaps Zend? Symfony? Cake? Something that was designed to be a light weight app framework..
this is not a simple question to answer, and i really think it comes down to process and schedule as well. If we had more time to really optimize code for a well defined goal rather than adding features every week, im sure we could have delivered a faster site. instead, its always a fixed deadline and if it looks good on launch no one but the geeks worry about what happens when traffic spikes. that's true with anything... ask twitter how they feel about Ruby on Rails.
the question i would be asking if i were in your shoes; is it a content management problem or is it an app?
to be painfully frank, I just finished architecture on a gig that Andy and I had to simply recommend they use Zend on. CMS just wasn't a real part of the problem, lots of many-to-many relationships and highly customized views of data... permissions system that was different... why bother starting with a cms? concrete5 is a great solution, but not for that problem.
so shorter answer: yes, if its a website where the majority of those 100,000 visitors are just looking at content, and there's an administrative staff that would love the ease of use and flexibility of the in-context editing, you should absolutely use concrete5, and take the time to get the new caching stuff to work right for you.. if its the next Twitter.com... i'd start from scratch, or closer to it.
In the end, the project I was talking about is really just about content management for now. It will cover about 50 pages of content - including terms of service, some company information, maybe a team gallery, etc. so do you think C5 could handle it properly?
Later on - but there's no fixed timeframe set for it yet - some web 2.0 features should be added aswell, but it's not important now so maybe the new caching system you are working on will be the solution.
You also mentioned Joomla and Drupal in your answer - do you really think that C5 would be at least as stable as those systems?
Thank you very much for your help! :-)
I've built a couple of websites with it, a few listed in my profile, a few not listed because I don't like their design and never had a problem I couldn't fix.
There were problems like the lucene problem which drove me crazy because I couldn't find anything that contained non-ascii characters but I was able to fix it..
The basic functionality like showing a page, editing it never caused any troubles and I'm sure it will never do.
But I've never built a page where I had 10k users per second. 100 concurrent users maybe, but nothing really big so far..
the worst case scenario you add some reasonably easy hooks to cache the content for a few of the top level pages. That's not a switch to flip (today) and with the most recent caching changes it may not even be that beneficial, but when we've wanted to do that in the past it's only taken a hour or two to implement.
However, C5 is a great CMS and more and more clients of mine prefer using it when I recommend it to them fortunately.