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.