You or your visitors experiencing a slow website performance. If you have a Firefox Browser you should start with installing Firebug in your browser. This will help you tremendous. Than run your website through a website analyzer such as Web Page Analyzer
The speed test as described should give you some things to check and solve to sometimes drastically enhance your servers/site performance.
- Hosting package
- HTML code
- PHP accelerators
Joomla specific Optimizations
- Used extensions
- Debugging your site
A lot of people out there buy a shared hosting package and expect to be able to run a site with hundreds of hits per second on such a package. Joomla is not static HTML. You may be able to service hundreds, if not thousands of users per second with static HTML pages, but Joomla needs quite some CPU power and if you plan a site with more than about 5 hits per second, you should directly look for a dedicated server, even more hits, and you should think about a load balancing system, several servers and a MySQL cluster. There is an interesting thread on this issue here on the Joomla-forum.
A small site is a powerful site! This also applies to images. Take a look at your images and see if you really need them in a resolution of this size. Wouldn't a picture with half the dpi look as good? Often people don't notice that they are using images the size of lower Manhattan because they set the size in the HTML code to something way smaller and their browser has the images in his cache, but others first have to load a huge image and then it gets reduced to the size of a stamp. This takes a lot of time for them and they don't want to wait that long. So see to a reasonable size of your images both in pixel and in bytes.
Another thing that's often slowing down the performance are missing images. If you have a reference to a non-existent file, the server will need a lot of time to notice that and answer with a 404. In some cases your server is configured that way that you are redirected to the front page when the server can't find the file and in that case the browser receives a complete new page each time he requests a missing file. Imagine just one page with an image that is used at a dozen places in the layout and is not present. This can slow down the delivery to up to half a minute! Again the web analyzer will tell you precisely what images are too big and how many images with size you have (wrongly) on your site!
If you can't afford a new server and you are on your performance limit, think about buying a PHP accelerator. There are again numerous available, like Zend or APC. Just look in this forum for further information. They can do little wonders about your performance.
Joomla specific Optimizations
You have installed Joomla and you have found all those neat little extensions available on extensions.joomla.org. You have installed numerous of them and think your site looks really cool, but lately you have to wait several seconds till your site pops up.
Again, this is another example of small is beautiful. Joomla needs a lot of extra time for each module or plugin it has to load.
In this regard, you should take a look at your extensions and see if any of those uses an external data source. If your server first has to load the data from another server, process it and then send it to you, this can take up several seconds. Try to find an extension that does the same but stores the data on your server.
Database + Caching
Great potential lies within the database. In general we recommend you to always use the latest version of Joomla, since for example there were big improvements from 1.5 to Joomla 2.5/3.x. with GZip and caching enabled. Many template provider deliver now templates which does compression by themselves. JS and CSS-files being compressed reduces server load and queries.
If this is not enough for you, you can also enable query caching in MySQL. This will cache a lot of queries in the RAM of your server and make it fast as a bullet, but be careful, you really need A LOT of RAM. 2 GByte is not uncommon and more like the lower starting point for this. This is nothing for shared hosting! Use here products such as PageCache (IRCMaxwell)
Debugging your site
Also recommended is switching on error reporting in PHP and setting it to its highest setting. You will probably have to correct some errors in the code to get them all away, but they, too, are wasting precious CPU time and therefore performance.
If you switch on debugging in the Joomla backend, you get a list of all queries executed for this site in the frontend. If you see a number thats to high, you should hunt those down and see what can be done about reducing that number.
Last but not least we have SEF/SEO. This takes a lot of CPU power and if you have problems with your server, you should switch that off as the first emergency measure. (!) Due to some errors in earlier Joomla versions, SEF sometimes produced dozens or even hundreds of useless queries. Update to latest version!
We support: See our Site Performance Optimization Package