Performance issues with a website can occur due to any number of reasons, the most effective way of solving this is to troubleshoot the issue. Below are some steps you can take in investigating this.
Please note that this article assume's you have some technical knowledge and is not a step by step guide. You can contact support to discuss any part of this article.
While Crucial can assist with some of these points, most would relate to the actual website code or content which we do not provide support for.
1. Ensure the CMS is optimised
If you are using a CMS it is highly recommended following the official optimisation guide for your platform. Below are links to some of the more popular platforms.
Other, unofficial guides are a simple google search away.
2. Speed Test the website
It is prudent to test your website against other websites that check performance. Some of the better testing websites will also provide recommendations for improving the performance. Below are some sites listed in no particular order.
If you have a VPS with Crucial that has management or support we will be able to assist you with these points.
1. Check Server resource usage
The first thing to check is ensuring your website is not hitting resource limits.
In the case of a website hosted on Website-Hosting this can be checking the resource usage in cPanel.
In the case of a VPS this would be checking the load of the server in addition to the memory usage.
In both cases it is important to remember that a higher then expected traffic load can cause performance issues, and if the load is great enough could leave the site inaccessible.
2. Ensure Compression is being used
If your website is not already delivering content using compression, then ensuring that it is using compression will not only speed up the loading of the website, but will also save you bandwidth with each page load.
3. Review the PHP handler
If your website is on a VPS you will be able to select the best PHP handler for your hosting needs.
If you are running more then a handful of websites on the server it is best to use SuPHP which is more suited to this due to it's security model and use of permissions.
If you are running a single website it is better to run either DSO or FastCGI. Fast CGI has a better security model and permissions then DSO, but this comes at the cost of requiring more memory. Both provide speed benefits over SuPHP.
4. Optimise Apache
The optimisations that can be made here mostly relate to ensuring that Apache is using the server's resources most efficiently. Specifically by tweaking the Prefork MPM settings.
5. Optimise SQL
This can be broken down into a few different things
- Identifying slow SQL queries
SQL queries that look through a large amount of data are typically slower to run then with smaller data, especially if the query is more complex. If a query takes several seconds to complete, this will have a direct impact on the loading speed of a website (Typically measured as 'TTFB'). Depending on how it is coded, this can result from content loading slowly to even the webpage entirely.
- Optimising SQL
Out of the Box, SQL is usually configured to accommodate a high number of use cases. Most optimisations that can be made here will relate to optimising SQL to understand the server resources better. The tweaks that can be made will vary on a case by case basis. We use a tuning primer to identify what can be done.