Joomla is a popular CMS that is highly extensible and customizable. The following are suggestions for optimizing your Joomla installation and reducing the CPU consumption of this script. These suggestions are not guaranteed fixes to bring a site to normal CPU consumption, but they will drastically reduce the amount of CPU consumed by a Joomla installation.
- Enable Caching
- Avoid Image-Heavy Templates
- Disable Gzip Compression
- Use Components Sparingly
- Avoid Statistics Components
- Optimize Forums
This is probably the most important optimization tip. You can lessen the footprint of your site on the server noticeably by having caching enabled at all times. Please remember that we do NOT recommend any form of OPcode caching on VPS accounts of any type due to shared memory limitations; in addition, this type of caching is not allowed on shared accounts of any form.
Some templates may look nice, but they can use up to 70 images per page request, each of which generates an HTTP connection to the server. When traffic to your site becomes high, you will end up consuming enough CPU to cause the server's load to rise. You should consider clean template styles instead of image-heavy templates.
The CPU has to work harder to compress each of your pages before it sends it out. If you have Gzip compression enabled, an extra overhead is added to each page request. The speed gained by compression is offset by the CPU time requirement, resulting in a higher load with no actual gain in performance.
Many components are heavy CPU consumers and will cause your site to raise the server's load. Make sure you're only using the minimum amount of components that are necessary to the operation of your site. Disable or remove any components that you are not actively using.
These use a lot of SQL queries to constantly update and display your site statistics. This results in increased CPU usage and causes additional IOwait. Use Awstats or Google Analytics instead to track users.
If you are using a forum bridge/extension such as FireBoard or something similar, make sure to require visitors to register before they are allowed to search and post. Also, employ captchas to reduce spammers on your board.