In order to perform a detailed research, we setup two different test environments for Joomla!:

Environment #1: a Joomla! clean installation with only the sample data.

Environment #2: a Joomla! live site with real live data on the database. To be more specific, we have cloned this site for that purpose: we have got VirtueMart as the e-commerce solution, Ambra subscription as the renewal system, the Kunena forum to provide support, and K2 to handle the News & Announcements section, bog-style.

As the purpose of the research is to determine what good recomendations we can come up with for Joomla! and Joomla! extensions development, in both Environments we have installed our most powerful reporting system: SALES ANALYTICS for reports on VirtueMart sales, filled up with almost real data of 707 orders spread over a period of 707 days (101 weeks).

To get the bulk data for analysis we have used the embedded DEBUG feature inside Joomla! itself. This DEBUG systems retrieves information about response times and memory usage in five different Joomla! segments:

Load: the actions required to load the server environment.

Initialization: the actions required to get the request to the Joomla! core.

Route: the actions required to take the request to the suitable component handler.

Dispatch: the actions required by the component to build the page content.

Render: the actions required to display the actual HTML response to the requester.

To test the front-end we have chosen to measure the home page behaviour, because this is generally the most visited page on every site. To test the back-end for reference we have chosen the control panel, where no specific functionality is generally loaded. And to measure the Joomla! extensions we have chosen SALES ANALYTICS with almost real data of 707 orders spread over a period of 707 days (101 weeks).

As sales report, we have selected to analyze the income report for all the 707 orders, over the 101 weeks period, displayed on a week by week basic for all the 9 main sales report parameters: gross income, net income, taxes, shipping costs, shipping taxes, # orders, # items, coupon discount and order discount. That report tyoe requires sum, accumulate, group, and display a matrix of 909 values and a linear graph of 101 points calculated from a database of nearly 6400 values. We have chosen this report type because it is the most demanding from the processing and rendering point of view.

With this environment setup, over a series of executions, this is the bulk data that's got for further analysis:

This information is going to be analyzed in further detail, but a few outstanding tendencies can already be pointed:

There is a big overhead in a Live Joomla! Website, compared with a Clean Joomla! Installation.

And among all the element analyzed, specially the front-end performance rapidly degrades on a Live website.

To get the most out of it, we are going to analyze this data step-by-step to understand where and how we can improve performance and scalability.

Last Saturday I attended the Joomla! Day Spain 2010 in Valencia. Among all the useful speaches we had, there was one from Daniel Rodriguez about Joomla! security and scalability for large Joomla! projects, that also included a view on Joomla! performance.

As many Joomla! developers already know, Joomla! performance for large projects is not its strongest feature, and all the APIs, classes, libraries and all that kind of stuff that Joomla! loads everytime to serve a web page, rapidly decreases Joomla! performance when very many user requests happen together.

Daniel talked about some recommendations and solutions to improve overall Joomla! performance, but one suggestion quickly got my attention: Daniel suggested that in order to improve performance, the on-site use of analytic tools should be avoided. He claimed that they take a lot of resources, and anyway you can always use Google Analytics because that's the best tool.

Well. I agree with the fact that you can always use Google Analytics if you want to; but the fact that this tool is the best, you know? ... I guess it depends on what you are looking for.

For example, if you need a reporting tool about Joomla! content Authors and their popularity in your website, Google Analytics is just useless. It has no access to that information, although it's on your website database. The same happens for sales reporting and social network participation. Google Analytics is very useful for many website reporting tasks (above all of them, analizing user behaviour on a website during a user session), but it is completely useless for other purposes, like analyzing Joomla! content authors. Google Analytics just can't reach that information.

This Daniel presentation came together with the fact that we are now specializing in developing professional reporting tools for Joomla!. We needed a flexible yet powerful mechanism to analyze how our most successful websites and online stores are behaving, and although Google Analytics was very useful, there was also some very key information, very important information, that we needed to handle and that was completely out of reach for Google Analytics (for example, accurate and complete sales reporting).

As we could not find such extensions for Joomla!, we decided to develop a reliable reporting engine and then build them ourselves on top of it.

Our reporting engine is very powerful, and because the reporting tools were meant to be used in successful very popular websites, key design features we considered were performance and scalability. Being leading the development since the begining and analyzing the end result, I believe we succeeded in that purpose.

But this is just my thought. Now that Daniel claimed this kind of reporting tools should be avoided in large Joomla! projects to improve performance, maybe it is time to do a deep research to see whether this believe holds true or not, and what can be done to improve Joomla! performance from a developer point of view.

In this deep research we will study all the relevant sides of Joomla! performance in order to get good quality recomendations for Jooma! and Joomla! extensions developers.

I am already back from Joomla!Day Spain 2010 in Valencia, where Latitud WEB has been involved as a Collaborator Entity. We had some really good speaches about VirtueMart, K2, Joomla! Usability, SEO, Security and Scalability.

I want to thank everybody on the organization team for the nice attention, specially to Lucia, Ana and Pedro.

And to all the participants, see you next year in Joomla!Day Spain 2011!!

Research Articles

Follow us on

About Us

Latitud WEB is a trademark from Business Excellence through Information Technologies S.L. (BEIT). BEIT is an Information Technology company based in Valencia (Spain). Our aim is to put the IT advantages at the service of companies and organizations of any size.