Thread

Channels performance

December 06, 2018 9:50am

Subscribe [2]
  • #1 / Dec 06, 2018 9:50am

    web-admin

    15 posts

    Hi guys,

    I have very important - from my point of view - question.

    On main page I have 3 sliders and section where I load 25 items from channel (via LowReorder). The sliders work the same way (channels via LowReorder) and there is max. 30 items inside each of them. So togheter I load max. 100 items (each with graphic) from 3 channels. Unfortunately, then the website slow down dramatically. NewRelic says that my main page is loading for 30-40 seconds!

    Question is, why 100 people destroying my website? Why channels are so slow?

    I use CDN, I use cache tags for channels .. EE debugger shows me the first load generates 91 queries and 8.1mb memory usage, the second one only 35 queries and 2.6mb memory usage. On the main page I’m loading also json file with 700 items or more. But this json is full cached by CloudFlare. Do channels work even in this case?

    Thanks for your help.

  • #2 / Dec 10, 2018 12:59pm

    Derek Jones's avatar

    Derek Jones

    7394 posts

    Sounds more like an environmental problem to me. Is the 30-40 seconds including delivery and rendering? Or is ExpressionEngine reporting 30-40 seconds of PHP and MySQL execution? You might need to create some reduction template to further identify the problem, using only native features and adding things in one at a time until performance becomes a problem.

  • #3 / Dec 10, 2018 1:13pm

    web-admin

    15 posts

    Thanks for your answer Derek.

    I replaced all channels by SQL module and the number of queries dropped to 40 (2,9MB memory). With tag caching this number futher reduced to 35 queries and 2,7MB.

    I think that’s all what I can do and for me that’s almost perfect. However I still don’t understand why channels has been designed that way and why they overload the page…

    Thanks.

  • #4 / Dec 10, 2018 1:17pm

    Derek Jones's avatar

    Derek Jones

    7394 posts

    Your workaround should not be necessary on a properly configured server. The Channel Entries tag is the staple of the software and does not have performance problems like you describe. Your optimizations have effectively removed any advantage using a CMS has given you, and your site will be unmaintainable in the future. Why not look for the underlying problem instead of making an assumption (that the Channel module is at fault) and address that issue? Step back for a moment and realize that if what you assume you have found is true, that the tens of thousands of sites powered by ExpressionEngine for 15 years would have the same problem.

  • #5 / Dec 10, 2018 1:29pm

    web-admin

    15 posts

    I totally agree. CMS like EE could not create issues like that. I’m thinking about server all time and from a long time but this part of job is not under my jurisdiction (administrator’s telling me all time that server is set up well etc.). For me that’s very strange when 100 people on the site at the same time completly overload the website and slow it down so dramaticaly.

    So what is the most important if we’re talking about server configuration (other than I can find in documentation)? What should I ask administrators about?

  • #6 / Dec 10, 2018 1:34pm

    Derek Jones's avatar

    Derek Jones

    7394 posts

    Sounds like an issue with concurrency or total available resources. If you have authorization to, it might be a simple test to back a backup of your database and set up a staging server in another environment. Either somewhere with managed hosting like Nexcess, or if you are an experienced admin, maybe somewhere like DigitalOcean.

  • #7 / Dec 10, 2018 1:59pm

    web-admin

    15 posts

    Yes, that’s good idea. And after that to make a performance test.

    Thanks Derek, you confirmed my assumptions.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases