Hi - we have a Joomla based website and we are using the inbuilt cache to make the website fast enough for our users... but it really isn't working well... i would say. The Joomla Cache is very limited and we were thinking if we can enable a server side cache for apache/php or something like that... which would work above Joomla and make all the contents cacheble. Any tips on where shall i start digging?
Mate, dump Joomla and go with Drupal. It's built for stability, performance and security. You can do some highly aggressive caching with it that will put Joomla to absolute shame. Otherwise, you can use .htaccess to add expiry for CSS, images, JS, etc, so that browsers won't constantly download them and instead load them from cache. If Joomla doesn't already do it, you could compress the JS and CSS files, too, using .htaccess. Better if you can combine CSS and JS, so you just have two individual files, and also minify them.
Agree with ryan_uk + install eaccelerator for php (server "plugin"), ask your hosting provider if it is installed or check php info, clean xhtml code via w3c, clean css code and use above mentioned htaccess caching (expiry, browser leverage etc)
Thanks for your replies mate.... but i can't switch to drupal that's not an option. We have already compressed and combined the css/js files. I am quiet not sure on how to describe expiry for files in .htaccess.... can someone provide a doc or link to this?? Thank you so much again.
Easiest way is to use FilesMatch, so it doesn't matter what CSS, image or JS files you add later, they will all get an expiry. http://httpd.apache.org/docs/2.2/mod/mod_expires.html#expiresactive http://httpd.apache.org/docs/2.2/mod/mod_expires.html#expiresdefault http://httpd.apache.org/docs/2.2/mod/mod_expires.html#AltSyn http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch <FilesMatch "\.(gif|jpe?g|png)$"> ExpiresActive on ExpiresDefault "access plus 90 days" </FilesMatch> Code (markup):
Here is how Ive don it: ## BROWSER CACHE ## <IfModule mod_expires.c> # Enable expirations ExpiresActive On # Default directive ExpiresDefault "access plus 2 days" # My favicon ExpiresByType image/x-icon "access plus 1 year" # Images ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" # CSS ExpiresByType text/css "access 2 days" # Javascript ExpiresByType application/javascript "access plus 2 days" </IfModule> ## BROWSER CACHE ## Values depends on type of site you run, news site would have shorter expiry times...
Thats correct, you can shorten it even more how ryan_uk suggested: gif|jpe?g|png You can do this both per domain via htaccess file or on server in httpd.conf (if apache) if you host your own sites via VPS or dedicated
cool, i suggest you to install eaccelerator or similar/approprite plugin for server platform you run if you dont have it, it will make a huge difference in php execution time and connected with that will improve complex platforms load time
I got the work from my hosting... Any tips? We do not recommend, support, or install eAccelerator. If you look at their wiki page at https://github.com/eaccelerator/eaccelerator/wiki , you'll see it has not been maintained in years. PHP 5.3 and newer are already highly optimized and installing eAccelerator could actually hurt performance. You should consider APC and/or memcache instead, depending on your needs. Please keep in mind that your scripts must be aware of memcache for any benefits.
Go 4 APC and memcache - both are good modules, eaccelerator can hurt performance same way any other module do, but in 99% it will increase performance