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/
" The ionCube PHP Accelerator is an easily installed PHP Zend engine extension that provides a PHP cache, and is capable of delivering a substantial acceleration of PHP scripts without requiring any script changes, loss of dynamic content, or other application compromises."
Install is straightforward: just copy library into /usr/local/lib/php_accelerator_1.3.3r2.so
and add these lines to /etc/php.ini
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)
- I remove all entries
- Disallow comments operations (in Zoom gallery admin panel),
//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: