Hi all
I am at NY dev conf, where I have been collared by Martin and Chris from Rochen, our hosts for this site, with an abuse ticket. This site is frequently using 60-130% of CPU, and we're on shared hosting.
Somewhat alarming!
Anyway, to keep the site on air, I've had to do some radical performance work...
Here are the tips that Martin shared with me:
* SOBI2 may be a problem
* Kunena IS a problem (I recently replaced the Kunena native template with the 'default' Kunena template, as the one I was using, even though supplied with the product, is apparently not endorsed for use as it has errors)
* Permissions were wrong on some files in the account (Folders should be 755, files 644). This didnt affect performance but obviously compromises security
* Check the web site performance grader at joomlaperformance.com for where the site is under-performing
[The site is very heavy - CSS, HTML, JS, images]
* Upgrade Kunena from 1.5.5 to the lastest, 1.5.7 [I upgraded to 1.5.5 only a coupla weeks ago]. Note btw that J1.6 has an upgrade utility that flags upgrades due on Joomla and any installed extensions. Sweet!
* Replace Kunena with PHPBB for performance reasons. Kunena do mention poor performance as an issue on their own forum.
* Split this site off on to its own hosting account (for legacy reasons it shares)
* Delete an old copy of Melbourne Joomladay 2008 which is running on J1.0.13, because it's a security hazard
* Deny the two biggest users - Russian trawling sites - by denying the two IP addresses. SHould also reduce spam Russian member signups!
* Replace Joomla native SEF with an SEF extension. For reasons unknown (a bug in native SEF URLs) the forum link is different depending on which page you are on when you go to the forum. This has a huge drag on page refreshes. I believe it's a known bug, although if so, why isnt it fixed by now? I had this on another site a year ago.
* Turn on system caching. I re-read Andrew Eddie's notes on J1.5 caching here:
www.theartofjoomla.com/joomla-caching-explained.html as a refresher, but in the first place I turned on the system caching plugin. Because of the forum link issue above, I blew about 200Mb of caching space right off the bat. Had to turn it off in the end when I ran out of disk space. Instead then I turned on caching in Global Config, and that worked really well at reducing CPU load
* RSS feed
Conclusion:
- I replaced the heavy ja_purity template with rt_afterburner, which took down HTML and CSS and images load
- I turned off Allvideos plugin (where is it used on this site?) and that saved 60k of JS
- I turned on Global Config system caching, at 15 mintues cache. Instead of caching several Mb per page(!) it's down to caching about 70 or 80k
- Blocking Russian IPs - that was a lot of wasted traffic/load
- Havent fixed the SEF URLs yet, nor the PHPBB, nor the Kunena upgrade, nor SOBI2
- Deleted Melbourne site and fixed permissions (not performance issues)
Because Martin ran through all this with me at hyperspeed, I did not have the opportunity to record all the stats before he/I made the changes, but see for yourself the figures now on Performance Grader:
www.joomlaperformance.com
I am going to attach some 'before' and 'after' statistics though.
The 'after' figures only include the following changes:
- Turn on Global config system caching
- replace ja_purity with rt_afterburner
- turn off Allvideos system and content plugins