
Speeding Up Joomla! a little bit
Since my server is still suffering, Ive decide today to take some actions.
user: changes can be done on shared hosting with limited user rights.
root. changes require a full access to the server (root access with secure shell ssh)
I have currently per months, 160.000 visitors and 2 Millions Hits.or per day 8000 visitors and 24000 pages view.
Server has only 1GB RAM.
UPDATE: I found one/THE reason why my host is slowing down…SPAMMERS!
click read more
user: | Joomla! settings
| |
user: | MySQL maintenance I Optimize (repair, refresh statistics) MySQL tables through MySQL admin, but It can be done through PLESK | |
user: | Tune Joomla!! cache I Increase Joomla! cache lifetime from 900seconds to 24 hours as it better reflect the way I update my site (daily) | |
user: | keep pages small
| |
user: | Hunting software bugs By switching the site to debug mode, I notice some nasty queries (select count(*) from), all created by my statistics module ( Content Statistics on right side), In fact Joomla!! module do not inherit from Joomla!! cache automatically. I fix value in this module since I do not want to program cache support in it right now. | |
root | One more cache I decide to install a PHP accelerator: PHPA from http://www.php-accelerator.co.uk/ Install is straightforward: just copy library into /usr/local/lib/php_accelerator_1.3.3r2.so
I use that tool: HTTP Viewer to check if my page now contains a header X-Accelerated-By:·PHPA/1.3.3r2 |
Reduce surface of attack: I found my components that were not used by Joomla! (very old code and uused components . So go through all directories with FTp/SCP and remove any un-needed code….
Review table data directly in the database…
This is how I found 27 000 spams in my gallery (Zoom gallery)
solution:
- I remove all entries
- Disallow comments operations (in Zoom gallery admin panel),
but spammers were still able to insert comments, so I edit the file components/com_zoom/lib/image.class.php
//add because of spammers
header(“HTTP/1.0 403 Forbidden”);
//$database->setQuery(“INSERT INTO #__zoom_comments (imgid,cmtname,cmtcontent,cmtdate) VALUES (‘”.mysql_escape_str
Note: I recommend You to use also mod_evasive and mod_security (root access needed), see aprevious article on my site
Some links, where I borrow some ideas:
http://www.primakoala.com/tutorials/guides/speeding_up_joomla.html
http://forum.joomla.org/index.php/topic,50278.0.html
http://forum.joomla.org/index.php/topic,54175.0.html