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.
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.
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
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.
You can set it here: