Speed is an issue and Miser ain't cutting it

Permalink 3 users found helpful
I love Concrete5, but 5 out of 5 sites I've designed recently are slow as hell. I've added Miser and I remember noticing a big speed improvement at the time. We could blame Pair Networks, perhaps, but I had the same problems on MyHosting.com which, prior to working with C5 was my favorite host in the world. Fast, reliable, great customer service.

Is C5 just a mess or something? It's easy to set up and work with, but the fact that it is always lumbering everywhere and requires a somewhat finicky 3rd party fix (Miser) (which thank God is free), has me wondering if the core is just a big freaking mess of stuff. I don't know enough about it, so that is why I'm asking.

If this is never going to improve, I am going to start using Expression Engine and Wordpress. It is very disheartening to visit a website I was happy with 3 months ago only to find that it absolutely does not load content anymore. How depressing. A portfolio to get new business doesn't even load the galleria.***

*** EDIT: I just discovered the solution to this particular Galleria Add-On problem:
It's the fuggin' Chrome browser:
http://code.google.com/p/galleria/issues/detail?id=41...

But, still...

 
zoinks replied on at Permalink Reply
And you know there's a problem by this website alone. This forum is built with Concrete5 and half the time when you submit a post, as I just did, you get a very loooooong lag before the post actually gets posted. That doesn't happen on PHPBB etc.
zoinks replied on at Permalink Reply
To underline the point, I just went back to edit the original post to add "Miser" to the tags... I gave up after watching the status graphic spin for over 2 minutes.

That is just pathetic. And it ain't the first time, friends.

Surely, you are aware of this problem, no? You all use the forums, too. Can't blame the slowness on my ineptitude in designing for C5 because I didn't design these forums.

EDIT: despite giving up due to infinite hang, it seems the Miser edit did go through. Clear indication of something wrong with the code.
frz replied on at Permalink Reply
frz
Hmm. Rough morning, eh?

I have a few thoughts:

1) Yes. We have always designed with speed as a third concern, well behind ease of use and flexibility. That means its very easy to build a wide range of stuff with concrete5 that anyone can use. That also means its quite possible not all of what one builds will always be fast. That goes for us too.

2) Yes. We've incorporated some of the ideas from the Miser thread into 5.5 which we're releasing in November. We also have taken some time out to find any number of opportunities to improve performance from the bottom up. I'd hardly call our code "a freaking mess" but there were certainly spots where one object could be loaded instead of two, or a smaller call could happen in a conditional before a larger call. We've been looking for low hanging fruit like this in the dev work around 5.5 - along with consolidating JS and CSS calls as the miser thread essentially boils down to. I can't promise you the moon here, but performance has been an ongoing concern we're giving more attention to than we did in the past.

3) This community site is not perfect. I know in the abstract it's easy to say "oh concrete5.org should be the fastest site in the world" and certainly if I had piles of someone else's money - it would be. The fact of the matter is this community has grown organically over 3 years as we've seen the project grow and had new ideas. There's a lot of "wouldn't it be cool if.." ideas that have started and stopped. There's a lot of parts that have grown in many frantic revs. The development timeline for this site is almost always driven by us wanting to get a release of the CMS out the door, and it's very frequently a "just make it work this week" type project.

So if we're going to pick at scabs this morning - the forums are slow because the script that sends out emails to everyone who is monitoring needs to be rewritten. It was written before we made our Discussion Forums add-on which is much more efficient about that challenge. We've extended and unexetended this script over the years to deal with the Bug section, feature requests (now gone) the old job board (relaunched simpler) etc. The result is today you get horrible lags on posting or editing at times, in particular forums, as it figures out what to do. It also sometimes sends duplicates, which is annoying for everyone. I'm told it will take about 2 days to rewrite, and it's high on my radar to make that happen. Right after 5.5 is ready to ship, our docs are better, connecting to the community is easier, etc..

In the same vein, go check out the how-to section. Each one of those pages with the cross post block at the bottom that finds forum posts that match tags from across the whole site and centralize the discussion that starts from docs is horribly inefficient and tend to make mysql crawl. That should be rethought too.

4) If you're looking for a benchmark of what we think is average and acceptable for concrete5 performance, check outhttp://www.shamrockrunportland.com/... We recently built this site for a friend here in Portland. It's certainly not a community site with half a million pages we've strung together over three years on no budget, but it does have the superfish drop downs, an image slider, a few different navs including a footer - etc. It's a pretty good "typical small site" benchmark. For me at least - it's as fast as the rest of the internet. Take a gander and let me know what the load times are like for you. It's possible there's a deeper issue going on somewhere with network latency. It's also possible we're comparing apples and angels.

5) Tuning. I recently helped someone on bluehost with speed issues by telling them to turn caching completely OFF. File systems can often be slower than memory so while it's easy to say "Gee caching should always make it faster!" if that were the case, we wouldn't make it a switch you can easily configure. If you're getting into more complex caching stuff, there are some engines that concrete5 works with that just don't work very well. Currently we've had good experiences with Memcache, but it's taken some work to figure that out.

That's about all I got in me for this discussion this am. Performance is our third priority in every decision we make, and as the project continues to grow we're getting more and more time to worry about the core (and this community site) through the growing marketplace revenue. If the boat keeps sailing as it is, and I have every reason to believe we're only going to pickup speed, you will see continued improvements over the years.

I'm curious as to your thoughts on #4 above.
zoinks replied on at Permalink Reply
Hey Frz,

Thanks for the thorough reply. It's good to know that it's not a freaking mess. So, I am looking forward to the next release in November. I was just telling someone today how great C5 is and then I went to my website to send them my portfolio and the freaking thing was crawling; didn't even load the gallerias this morning! Yeah, I was pretty annoyed because I already rebuilt this site 3 times when I switched hosts and then upgraded.

MY WISHLIST:

1. An easy upgrade. Automated!
2. A big red warning when you are about to do something that could potentially cause problems, especially if you want to revert later (eg. Advanced Permissions). At the very least, a comment in php file would be helpful.
For example:
/*****
WARNING!!!! IF YOU DO THIS, YOU WILL REAP [THESE CONSEQUENCES].

VIEWhttp://www.concrete5.org/you_are_about_to_seriously_screw_yourself/... FOR MORE INFORMATION.
********/

You asked my opinion of #4 and it seems pretty quick, but I should think it should be since there isn't much on each page. I'm not adding much to each page either, but the difference between a working HTML version with for instance a Cycle.js slideshow or Galleria script vs a C5 version with the same exact thing = C5 version is much slower.

BTW, Register > Event Choices shows a page not found:
http://www.shamrockrunportland.com/~shamrock/index.php?cID=99...
zoinks replied on at Permalink Reply
PS, the reason I thought of these wishlist items is because when my site crawls, I have to wonder if it's something I did.
ScottC replied on at Permalink Reply
ScottC
#4 loaded fine, although I know this response wasn't directed at me.
ChristiaanB replied on at Permalink Reply
ChristiaanB
I expect #5 to be fixed in Concrete5.5 because of the following fixhttps://github.com/concrete5/concrete5/pull/228...

When cache was turned off there was only a bit of file IO activity. However when enabling cache using the standard File cache a singe page request easily resulted in hundreds if not thousands of file IO actions.
When hosting concrete on a server with a local accessible disk this was still faster then without cache however when on a shared hosting environment where the files on disk might be on a whole different server and accessed via some network file system it is considerably slower.

Our crappiest server went from serving page requests in 30 seconds to the millisecond range..
107studio replied on at Permalink Reply
107studio
This post really gets my attention. I've been struggling with very slow speeds on the last 2 sites I've created.

I host my sites with Site5.com's reseller account, which is a shared plan. For a long time the sites loaded as fast or faster than #4 above. Lately the sites have been so slow that they often will display MySQL errors. Caching helps the front end, but the back end is still a pain to use.

I've found that the server I'm on has an almost constant heavy load that greatly affects C5 sites. For comparison I also have sites on the same server running wordpress and CMS Made Simple, those sites hardly show any performance degradation.

I also work at a small web design company that uses a VPS. I've done quite a few C5 websites at my job and all of those have performed very well, just as fast as a wordpress site.

I hate to take a shared hosting account into consideration when building with C5 because I definitely favor it over the other options out there.
mkly replied on at Permalink Reply
mkly
Just curious...
Are you writing custom blocks?
Are you doing this?
http://www.codeblog.ch/2011/01/concrete5-performance-improvement-wi...
107studio replied on at Permalink Reply
107studio
I have cache set to enabled in all circumstances until manually cleared
zoinks replied on at Permalink Reply
EDIT... see below
zoinks replied on at Permalink Reply
Actually, yes I have heard of this. I thought it was new. This is all turned off because I have been using Miser. Miser is WAY faster than this caching system, but unfortunately I just now discovered Miser also costs some money per site, so I will have to increase my price a bit in the future. As for the subject of this thread, this block caching stuff doesn't help a bit. C5 is slow even with Miser, which as I said is much faster and requires this cache turned OFF for it to work.

But, thanks for trying to help me out!
mkly replied on at Permalink Reply
mkly
No problem. Maybe you check out some information on how caching and other speed issues actually work. I imagine you won't have much success in the future if you just keep switching one pre-canned solution with another pre-canned solution and you may just end up with a lot of frustration. Unfortunately this is still a knowledge industry.

I mean you thought browser compatibility was a slow site issue.

Best Regards,
Mike
zoinks replied on at Permalink Reply
Yes, and you are apparently oblivious about Miser, so look into it before you start making wisecracks. There is a whole crapload of discussion dedicated to Miser on the forums. Acquire some knowledge about it.

I mean you suggested I look at site caching when I clearly mentioned Miser in post #1 which anyone with any knowledge about Miser knows requires caching "off."

And you've greatly misunderstood my comments regarding Google's Ad-block add-on. It's not just a browser compatibility issue and I figured it out within the day. I seriously doubt you would have figured it out any sooner based on what you've said thus far.
mkly replied on at Permalink Reply
mkly
Cycle.js must really bog down a server with all the server side processing it does.
zoinks replied on at Permalink Reply
Your little witty observations do nothing to change the basic facts. Frz already addressed everything thoroughly. I have been working with a guy who volunteered his time to the development of the new version coming out in November and he (and others) have agreed with me about C5's slow loading issues. That is, after all, why Miser was created. So, go away.

Oh, and FYI, I was referring to the Add-on version of Cycle.js, which includes a block, block controller, etc. made with php, just as the Galleria add-on does and all other blocks.
mkly replied on at Permalink Reply
mkly
I thought Miser was primarily created because Concrete5 doesn't minify javascript and css before serving the files. My bad.
zoinks replied on at Permalink Reply
Right, which makes it slow and Miser speeds it up a lot more than any built-in site caching features.
frz replied on at Permalink Reply
frz
Hey.

Everyone Be Nice.

Thank you.
mkly replied on at Permalink Reply
mkly
You're right I'm sorry. I'll stop.
PauloCarvalhoDesign replied on at Permalink Reply
PauloCarvalhoDesign
Here a few thoughts on this, opt for a very good hosting service(VPS perhaps).
When designing a website you probably only gonna use a few block across the site.
Optimize it from ground up.
Don't reuse the same scripts.
If for example you use a gallery add-on that calls a view.js to the head and view.css plus the the inline js for that specific add-on, if you use it twice then you have 2x the same calls on the same page.
But if you add the view.js and view.css on the header or footer you are only calling the inline script for it.
And you can use true false testing in the header or footer to load only if that page his true.
So my point his, if you tweak a few addons you thoose sites and you can improve even further your hosting, even withou miser your sites will be fast.
Miser helps but its not free.
You can use minify to compress your assets, and again if you have all your frontend assets organized another reason to gain speed.
Hope this helps.
Paulo
zoinks replied on at Permalink Reply
Thanks for the tips.

I am using a good host and my sites are pretty simple. The most stuff would go on the front page only. Inside pages are pretty much limited to one add-on type of thing per page.

I just did a fresh install of 5.4.2.2 and it was working pretty quickly until I installed the following packages:

asmiller_gallery
autonave_exclude_subpages
designer_content
page_redirect
page_selector_attribute
transparent_email_obfuscation

I haven't even done anything to it yet and it SEEMS to be going a tad slower now as I navigate through the dashboard. Might be in my head... I am going to rebuild this site very carefully (without Miser) and see when the problems appear.

I've been working with a guy who's pretty darn knowledgeable about C5 and programming he has seen my templates up close. So far, everything I've asked him regarding my templates he has replied that there shouldn't be a problem.

On many of these sites, I'm not even using header or footer includes, so there's not any javascript that gets called twice. The sites are usually either so simple all I need is a default.php (and a view.php, of course) or else the pages are so different including menus, it's just easiest to make completely different templates: home.php, default.php and special.php etc. If the menus are changing completely due to different access permissions, there's really no benefit to sharing header and footers on these templates, anyway.
PauloCarvalhoDesign replied on at Permalink Reply
PauloCarvalhoDesign
Ok, have you considered for example using ajax to deliver certain parts of the home page.
Wont make it faster but will certainly create that illusion until you have a more solid approach to it.
zoinks replied on at Permalink Reply
I wonder if it might just be something as simple as... if you do a lot of work to a site over the span of a few days, then you have to optimize the database?

This wouldn't apply to the site I mentioned in post #1, which gets optimized automatically every month, but that site is running an older version of C5 from last year, anyway.
MrGrowBizz replied on at Permalink Reply
MrGrowBizz
Does the number of old page versions effect load times? I have been trying to find a way to delete in bulk as I have an average of 200 per page, as when I copied pages they also carried over the old versions. I have been able to move page load times down to an average of 5 seconds from 15 using miser. I am expecting to get down to at least 2 seconds. I am working on an eCommerce site and do have a few images (that are optimized as to size and resolution) and sliders. The product pages don't carry versions so no problem, but the other 50 I have do, and expect they are hindering my speed efforts.
frz replied on at Permalink Reply
frz
Bulk delete of old versions will be in 5.5

Best wishes
Pecked out on an iPhone
MrGrowBizz replied on at Permalink Reply
MrGrowBizz
Franz, Great! Looking forward to the upgrade!
zoinks replied on at Permalink Reply 1 Attachment
This is good to hear.

Here's an update on the brand new 5.4.2.2 site I am creating:

1. I have ZERO content.

2. I added my FIRST image (attached) and added a Galleria block just now and... well... adding this galleria block made it hang with the spinning "loading" icon until I finally clicked "Exit Edit Mode"...

I actually took screen capture of this as video and am uploading it to VIMEO right now.

There is NOTHING on my site other than this 1 image and Galleria block. C5 just got slow for no apparent reason.

Would anyone like to analyze my template?
frz replied on at Permalink Reply
frz
maybe something else is going on with your server?

Can you reproduce the same thing on our Instant Setups?

best wishes

Franz Maruna
CEO - concrete5.org
http://about.me/frz
zoinks replied on at Permalink Reply
What is the logic of these templates, exactly?

By this I mean:

1. Can't we style elements like the PREVIOUS AND NEXT block within our main.css?

2. Aren't we allowed to make custom templates of the AUTO NAV block by putting them in a named directory within the auto_nav templates folder like this:
autonav/templates/my_menu_name/view.php
autonav/templates/my_menu_name/view.css

???

I'll spare you the details.
zoinks replied on at Permalink Reply
Frz,

It appears that, in addition to multiple and varied other problems, the MAIN problem I have encountered here is something others have encountered lately, too:

http://www.concrete5.org/index.php?cID=213324...

Namely, whatever recent updates occurred in 5.4.2.1+ have broken Galleria. It spins and spins and spins and spins. Never finishes. You can hit "close" and refresh the browser and it will work, but it is very buggy. Changing templates might delete everything and sometimes if you didn't let it spin long enough, it will just be broken.

Any idea what has changed that might have broken this essential Add-On? I use it constantly.
frz replied on at Permalink Reply
frz
This thread is the longest thread in the entire forum, and has nothing to
do with galleria.

My suggestion is opening a support ticket under that add-on's support area.

best wishes

Franz Maruna
CEO - concrete5.org
http://about.me/frz
zoinks replied on at Permalink Reply
The support for Galleria is non-existent. The description on the Add-On page says "way too long" for average response time. I've created a new topic in the forum instead.