Optimizing Joomla CMS
This month we pushed out our new corporate site with some nice creative graphics and a fresh identity! Something our team can be proud of and that I am extremely excited about.
Getting this done did not come without some effort and in the process we ended up discovering new perspectives on performance testing. In this blog series I will explore some interesting takeaways from our performance testing on this new site (as a case study) and client experiences along with some tips for optimizing and testing your site.
Who is playing the blame game?
It seems that everyone wants to pass the buck when your site is running slow and you cannot figure out why.
Speed tests are a good place to start for clarifying where performance issues might be coming from. Verifying whether performance issues are hardware, software, or database related can be a very time consuming process and often turns into a blame game between you and your ISP or support providers.
Server configurations can have a dramatic effect on performance. While we developing our new site, we experienced a bad node (from out of nowhere) on our cloud environment, where it suddenly brought our performance down to page loads in the range of 40-50 seconds at times. Meanwhile our developers (myself included) were scratching our heads trying to figure out what we might have been doing wrong in our site configuration (of course, with painstakingly slow page loads while trying to trouble shoot).
We went around in circles over this and every technician on their end (the data center folks) and ours went into a blame game trying to prove their theories of what could be going on and who or what was at fault. We eventually did figure this out but it took quite a bit of development time from some of our smartest folks and tons of testing scenarios to get to the bottom of it.
Most ISP’s or hosting provider’s first tendency is to blame it on your applications and code after a few random tests. Not to say that it is not often the case but when it is not, this can be frustrating especially to folks with less technical expertise that do not either know how identify what the cause or do not have access to advanced testing tools like we do. A lot of wasted time can be spent going back and forth with no end results or clues to the cause of the issue.
Test, test and then test again because it will not just go away on its own!
In our case, after figuring out the main culprit was a cloud server node, through the process of testing our new site we ended up finding something that could be optimized in nearly every area.
- We tried compressing and optimizing tables in the BD and this did help.
- We optimized images with various compression techniques.
- We tried several variations of configuring cache and optimization extensions with various results.
- We tested numerous configurations turning on and off all modules and plugins.
- We tested several compression options for JS and CSS even by hacking Joomla core, which some worked but others broke the functionality of key extensions required to maintain interactive features.
- We tested the hosting environment by setting up a clone on a different server to run performance comparisons.
Remember that every little bit helps but the bottom line is to never trust a single source and test with various tools from various approaches. In our testing processes, we often have different systems engineers look at targeted elements independently to get varied perspectives on complicated performance problems. Cross checking with different diagnostic tools is also a very good idea since few offer 100% accuracy or perspective.
How much time can be wasted on slow page loads and poor performance?
If you are working from a web based UI like in Joomla CMS, in either the front end or back end, the amount of time it takes to load pages can dramatically affect your productivity and costs to implement. If you are experiencing slow page loads you should jump on this as a priority sooner rather than later because it will save you money, time and frustration.
Here is an interesting infographic that puts the wasted amount of page load times into a unique perspective.
I personally like to use Firebug to do most of my testing because it is very easy and built into the browser. Here is one other useful tool you can use to do speed comparisons between domains: http://www.iwebtool.com
Coming soon, Part 2 of this series, which will have more optimization tips and links to tools you can use for testing!