Debug performance issues with contracted Concrete5 site


Our company has a website that was developed in Concrete5. We could use the expertise of a Concrete5/php developer to debug the code in order to solve performance problems that we are seeing with the site. The site works well enough with only a few users, but when we open it up to the public and let in 200-1000 users at any time then it starts to crawl and generates a ton of traffic between our Web Server and MySql Server.

The developers who built the app says they've never made a site that had to handle that kind of load so we're thinking there may be optimizations within the code itself that could help us. We have enabled multiple layers of caching on the server (WinCache, OPcache, browser cache) and have increased load performance to where most pages load within 4-5 seconds, but that is still far from the level of performance we are expecting from our hardware. The hardware itself is showing plenty of available resources so, again, we're thinking it's something in the code that can be improved.

We could also use the expertise of someone who has worked with Concrete5 on a Windows server. We are running php 7 under IIS on a Windows 2016 server and MySql on another Windows 2016 server.

View Replies:
frz replied on at Permalink Reply
First things first, don't use Windows for a production concrete5 install.

I know plenty of folks make it run on Windows for local development, but I can tell you the core team only works with *nix enviros for live installs.
MikeDev replied on at Permalink Reply
Is there a recommended setup for Windows? I'm not sure changing our servers is an option at this point.
FaganSystems replied on at Permalink Reply
I would 100% agree with Frz on this, I only run my development and Production C5 sites on linux.

I am actively developing and supporting C5 sites that will run comfortably with +500 users and one that has been benchmarked to 900;
The problems you are suffering are not, in my opinion, in the C5 core, they could be with third-party add-ons, but what I can say with certainty is the infrastructure is a major contributor to the issue.
There is a number of things that have to be done differently with deploying for a large user count. In order to give you good advice, I would need to know more on what your site is doing.
I would be delighted to help you with this.
I look forward to your reply

Fagan Systems.
Gondwana replied on at Permalink Reply
This thread is a good read:
Note the differing opinions on the merits of running MySQL on a separate server. Make sure the bandwidth between php and MySQL servers isn't saturated.
MikeDev replied on at Permalink Reply
Is that link restricted to certain account types? It's asking me to log on even though I'm logged in and page just refreshes when I try to log in again.
Gondwana replied on at Permalink Reply
Sorry; it could be. Since I didn't originate the info therein, I shouldn't repost it. :(
mhawke replied on at Permalink Reply
That was posted in the 'Leaders Discussion' area which is restricted to members rated as 'community leaders'.
MikeDev replied on at Permalink Reply
Ah okay. No worries then. Thanks for letting me know.
hereNT replied on at Permalink Reply
If it's really a bottleneck between the mysql server and not much else, you might check to make sure that database query logging isn't turned on. When that's set, you basically get double the queries for every page load because it runs the query, then stores a copy of what the query was in the database. It was killing one site that I was working on debugging some performance issues.

You can set it here:
MikeDev replied on at Permalink Reply
Hi, thanks for the tip. I did check and was hoping that could be related but it was already turned off. We have exception and email sent logs turned on, but nothing else.
hereNT replied on at Permalink Reply
Bummer, sorry that was no help. Figured it was worth a shot.
exchangecore replied on at Permalink Reply
Sent you a PM.