High traffic sites in concrete5

Permalink 5 users found helpful
If you don't read our blog, you may still want to read this one:

http://www.concrete5.org/about/blog/concrete5-sightings/high-traffi...

All about performance and high/load sites with concrete5

frz
 
mkly replied on at Permalink Reply
mkly
+1 for caching enabled.
gour replied on at Permalink Reply
gour
What do you recommend: APC or Memcache?
andrew replied on at Permalink Reply
andrew
It's funny. For awhile we recommended APC but it starting crashing pretty hard on us. But just recently we re-enabled it for some shared hosting and saw a massive performance improvement, with none of the instability we'd seen before.

I would probably first experiment with turning on APC for opcode caching only (so don't change your concrete5 cache) and see if the site is stable for days. Then I'd add define('CACHE_LIBRARY', 'apc') and see how stable the site is. APC will be faster than memcache but if you have multiple web servers or are having any kind of instability I'd go with memcache. Memcache is incredibly stable (hasn't crashed once in 9 months) and pretty darn fast. All of these are lightyears ahead of file-based caching.
triplei replied on at Permalink Reply
triplei
For what it's worth, we've been utilizing APC (with the cache_library constant setting) on the sites on our server for months without any strange issues. Currently we have APC version 3.1.9 installed and it's been working well.
gour replied on at Permalink Reply
gour
> I would probably first experiment with turning on APC for opcode caching only (so don't change your concrete5 cache) and see if the site is stable for days. Then I'd add define('CACHE_LIBRARY', 'apc') and see how stable the site is. APC will be faster than memcache...

Thank you.

I see that my webfaction-like (shared) hosting has Xcache, but I'll investigate about installing APC...I know it's possible to use memcache...
mkly replied on at Permalink Reply
mkly
I used apc on shared servers and have been happy with it.
circ replied on at Permalink Reply
circ
Love the numbers in that post Frz - been wondering how much C5 could be pushed on one box.
triplei replied on at Permalink Reply
triplei
Thanks for the transparency and info on this. I know a while back I was asking so this will be quite helpful for future discussions with clients as well.
dantheman replied on at Permalink Reply
Yep, agreed, it's fantastic to see those numbers and hear your thoughts.
Mainio replied on at Permalink Reply
Mainio
Hi frz,

I read the blog post a while ago but I had to come back and comment on it because my first thoughts of C5 were that it was designed for small sites when I first found it in 2009.

The basic reason for this (at least in my case) was its performance on shared hosting servers. This is also what has been discussed in this topic. First (before I knew any better) I thought that the architecture behind was so poorly designed that the system could not fit for any bigger needs or bigger sites. This thought came out just because of the loading speed of pages.

Before C5 I have been developing on many different PHP-based CMSs, including Joomla! (my first experience of CMS) and WordPress. These are quite much faster on shared hosting services than C5 at the first glance. And what else matters than the "first glance" when trying out or testing different CMSs?

At that time I used one shared hosting provider that has this "grid environment" that copies the site to multiple servers in case of server breaks. It also shares the load between the servers in that "grid", so you might end up loading different pages from different servers in that server environment. I've also talked about caching with them and they said that they've not found any good solution for caching in their environment, thus disabling it totally.

Recently I installed a C5 site to an IIS server because of one of my client's wishes. It turned out that they were not able to install any caching library on it (it was a shared hosting server they managed) so we had to go without any caching. However, my client was shocked when they checked out their performance logs for their MySQL server (they said that quite many calls e.g. on the eCommerce page). There might be some areas of improvement that could be done in the site's custom SQL calls but also, there are quite many in the eCommerce add-on itself as well. Everything turned out better when I got them convinced that the site should be moved to a Linux VPS with caching.

Now, after few years of active C5 development, I would say with a confidence that I would be confident enough to build even a big site with C5, there's no doubt about it. As said in this topic also, the key is turn on caching and everything will be better. However, I still feel that currently the C5 architecture is mainly developed for sites served from one server only (as you've also said about concrete5.org).

Br,
Antti / Mainio

P.S. Thanks for the article, I think it gives more credibility to hear this from the CEO of C5 when talking about this with our clients.
Ale replied on at Permalink Reply
Antti @ Mainio:

In addition to that we both live in same country and have common first name, I'm pretty sure that I know the hosting provider you mentioned, I mean the one that suggested not using cache at all on their grid system...the name begins with letter S, doesn't it? ;)

I've also seen the "performance" of the provider mentioned and was shocked to see page load times around 20 seconds on simple sites with cache enabled. Without cache, it usually was around few seconds, but still very fluctuating. I also have experience on running Linux VPS with multiple sites and the usage of APC cache provided quite fast load times.

Our company uses IIS servers for hosting different services, including web page hosting. We've used Memcache and it gives pretty good results. Usually first page loads may take around 1-3 seconds but after caching it's faster. Just recently we've been deploying a IIS Web Farm on a rather powerful blade system. It has multiple CPU's to share the load and very fast SAN system for storage. It's not quite ready yet, but I tried installing one C5 dev site to it. The site didn't have much content (maybe maximum of an autonav, some page lists and few content blocks or slideshow on a page) and saw load times of 0.3 to 0.9 seconds, without(!) cache. It will be quite interesting to see the load times with Memcache enabled and we've also planned testing WinCache, which should be even faster than Memcache or APC. We actually tested the WinCache on IIS version 6 and it was quite fast, but always crashed after 4 hours of use. Go figure. By the time it was on beta phase the newer versions should be more stable...we'll see.

I agree that C5 is somewhat demanding on hardware (compared to some other CMS's), but in my opinion the usability and flexibility that C5 gives greatly overwhelms the bad sides. Also, with right kind of hardware the performance problem is not significant anymore.


Antti
mkly replied on at Permalink Reply
mkly
Hey guys,
Does your country let other people move there?
Mainio replied on at Permalink Reply
Mainio
@Ale
>> the name begins with letter S, doesn't it? ;)
Yes, you got that right. :)

>> I agree that C5 is somewhat demanding on hardware (compared to some other CMS's), but in my opinion the usability and flexibility that C5 gives greatly overwhelms the bad sides. Also, with right kind of hardware the performance problem is not significant anymore.

I totally agree on this one! Did you figure out why I started using C5 in the first place if I thought that it couldn't handle big loads? ;)

The key is (as you said) just to have a C5 optimized server. However, I thought my post could give some valuable information to frz & guys at C5 to figure out what people (especially developers) are thinking when first starting out with C5. Also could help them point these issues to new developers or site owners who are trying out C5.

@mkly
>> Does your country let other people move there?
Sure, just grab a plane and fly here:http://finland.fi

Antti / Mainio
alanski replied on at Permalink Reply
alanski
Very useful post. I'm not a C5 dev /designer or user at the mo but I survey the landscape of OPen CMS frequently and C5 has been on my radar.

Franz said:"For some reason we can't grasp there's a sense that concrete5 was designed for small sites."

You seriously need to get a grasp of this perception. Let me give you an example. I work in UK running a small digital agency that specialises in NFP sector. I frequently pitch to large charities and we are known as a Joomla agency. For no reason other than 'perception' I have had some pitches cancelled when prospective clients found out we were pitching Joomla - they said they wanted Drupal. Side stepping the 'my OS is better' discussions, its just a fact that Drupal has cornered the perceptions of digital charity webmanagers/buyers because they were first to get into the market with big brand charities.[THey also occupy the same mental space for 'Government sites too' which is why Joomla has started touting their Government sites as well]
So it's now just a given that UK Charity sector [ and now local authorities] say 'Open Source', 'CMS' closely followed by Drupal.

Let me state categorically that its my belief that the people buying into this stuff [either with time or money] have no idea or basis for that decision. It is mostly a 'perception'.
Another belief I have [courtesy of Rory Sutherland -http://www.ted.com/talks/rory_sutherland_life_lessons_from_an_ad_man.html] is that all value is perceived value . The value perceived for Drupal is greater than Joomla for given projects. The intangible value that a perception like this has is a powerful influence.

So back to C5 - I have that perception of C5. Based on what? Have i setup a server and put a large client site on it? Of course not. I have read the forums,reviews, gossip and organically formed the following impression.

-Great UI
-Simple and powerful
-potentially developer friendly [MVC 'where it makes sense']
-possible performance issues [mmm bad code - havent looked]
-possibly complex to develop custom object/page types
-great core functionality
-simplicity make s me think large sites might be harder to build manage

So I have got you earmarked in my book with hosted CMS's like squarespace,lightcms in terms of what I might reach for to do a small project with becuase of the ease of use [yeah I know your's is hosted but I perceive from a user / ease of build perspective first]
BUT i also think / guess that your core functionality is probably as good as Expression Engines and that witha bit of effort on my part or anyone elses a quality big site could be achieved - but I cant take that risk on a new project that requires certain functionality.

So its easy for me to see how C5 can be perceived as and appeal to simple site builders with some complex functionality if required. I dont see how you are surprised because I imagine that the perception of C5 is cool and simple....where's the pain for enterprise level implementations of an intranet? I imagine its easy on C5 but it looks good for simple and quick.

I really like what I see of C5 but cant adopt it right now as it cant tick all my boxes [mulit-site, multilingual, CRM integrated]. However I think the perception that might be in the wild for C5 could really be damaging to its growth and success.

For higher end projects C5 doesnt look right in the same way Joomla doesnt look right [ cos its a whizz bang template hobbyists CMS] for 'big' sites which need a heavy weight solution [see Rorys talk on Clouds and Clocks for big money being spent on big solutions].

What's the solution? Well assuming I am not ranting on three hrs sleep [ i prob am] I think getting some big brand examples from a wide range of sectors would be good to battle the perceptions. Also I think you could consider grabbing some market share from WordPress and Joomla by providing importers to import WP or Joomla sites into C5. I'd seriously consider transferring some sites if I could try and do this. I am just stuck in my own rut of knowing Joomla's API/community to take the risk of using C5 on some projects. Less because i think its for small sites - I can battle/see past that - but more because I don't know how to cover som functionality and custom dev easily enough.

I am watching C5 with interest and really wish the project well
alanski replied on at Permalink Reply
alanski
ps
have been playing with C5 on MAMP while posting this and its simply brilliant for editing/productivity. INstalled Drupal 7 earlier and added some articles - OMG - modal editing flips between windows on view/edit. C5 puts it to shame
12345j replied on at Permalink Reply
12345j
well, just a quick note- there is a wordpress site importer (https://github.com/concrete5/wordpress_site_importer), and I made an importer that works with tumblr/posterous/any blog page that provides an rss feed here:http://www.concrete5.org/marketplace/addons/rss-importer/...
chemmett replied on at Permalink Reply
chemmett
We've found it extremely easy to develop custom object/page types. I will never do another Drupal or WordPress site if using C5 is an option.

Performance hasn't been an issue either. We launched one medium traffic site this summer that gets around 10k page views per day. We did enable APC and during one week of peak traffic I turned on full-page caching in C5, but most of the time even that's not necessary.