Hello, I am crossing my fingers that someone can help me or point me in the right direction to work out what the hell is going on with my beloved WordPress installation. I'm going to apologise now because this might go on...
Ok, so the background. I am running my company's website, http://www.totalpeople.co.uk with WordPress 3.2.1. on a virtual server with my hosting provider, my server's details are:
1GB RAM, 1 CPU Core
Shared Managed Firewall
100GB Monthly Transfer
Plesk 10 Domain Control Panel
As well as the main site I have a subdomain (learnerzone.totalpeople.co.uk) which is running a seperate wordpress installation (again 3.2.1) but this is a multisite installation. This is still in development so as such there is basically only about 15 people that have been on any of the sites.
Over the last few months our server has flat lined a couple of times due to the memory being maxed out and we have had to get them to reboot the machine.
Our main site only has approximately 1200 hits per week (so not much).
Yesterday I was doing a training session for our staff telling them how to create content on their site (from the multisite installation) and when 12 people all tried to login at the same time the server crashed. I got them to reboot the server and it crashed again.
They then upgraded the RAM to 2GB and although it didn't crash it maxed out and caused everyone to have a 'timed out' error message.
I was monitoring the memory usage on the server and when I tried I got the following error, so my first thought is that it crashes due to a MySQL problem
ERROR: PleskMainDBException MySQL query failed: Lost connection to MySQL server during query Additionally, an exception has occurred while trying to report this error: PleskMainDBException MySQL query failed: MySQL server has gone away 0: common_func.php3:200 db_query(string 'SELECT <code>key</code>, <code>uid</code> FROM PersistentCache WHERE <code>expire</code> < '2011-11-24 14:44:07'') 1: common_func.php3:275 db_query_ex(string 'SELECT <code>key</code>, <code>uid</code> FROM PersistentCache WHERE <code>expire</code> < ?(time)', array) 2: SQLSelectQuery.php:98 SQLSelectQuery->rewind() 3: SQLSelectQuery.php:32 SQLSelectQuery->execute(array) 4: PersistentCache.php:141 PersistentCache->triggerEvent(string 'timer') 5: PersistentCache.php:115 PersistentCache->_cleanExpired() 6: PersistentCache.php:90 PersistentCache->fetch(object of type UserAdmin, string 'plesk/server/statistics-tools#formPageCache') 7: PageCache.php:46 loadPageCache() 8: PageCache.php:21 fetchPageCache(string 'context') 9: plesk.php:39
The guy at the hosting provider said that it's Apache that's draining the memory but even in the middle of the night when I can only assume there is no traffic at all it is using about 50% of the RAM.
Can anyone tell me what I can do or give me a starting point as to where to try and work out why the usage is so high?
Sorry for going on but I wanted to give you as much info as I have.