Your ‘uptime robot’ report over night says you had a 30 minute outage, again. You contact support, and they five you 1 of 2 answers – ‘it seems fine’ or ‘you’ll need to upgrade’. Sound familiar ?
Surely you’ve all seen plans with 2 CPUs and 4Gb of RAM 100gb of disk space – that sounds like oodles right ? And there is a promise you can upgrade if you need.
And you thought you don’t have enough skill , or time to waste, fixing the server yourself – so you’ll get the managed plan. Pat yourself on the back ‘smart boy’ (or girl).
…. skip forward a few months … uptime robot outages are regular, support tickets, and your getting frustrated.
In essence when you purchase a VPS, you are saying:
I think there are a few motivations for buying a VPS:
Either read why VPS hosting companies don’t care, or skip down to what running out of resources looks like.
The hosting company is really only responsible for having your VPS up and running, and maybe backups (but you’ll have to double check how many backups they are keeping, and if it’s for their own disaster purposes or if you can request files back).
Their ‘managed services’ isn’t really responsible for your WordPress sites running. They’ll take support tickets and do fixes that you direct (good ideas and bad alike), they might give you suggestions – but it’s from a support person without strong skills or experience. If your server isn’t running efficiently enough, you’ll be asked to upgrade. You might start to get downtime, you ask support to fix it, and they report back everything is fine. You show them the ‘uptime robot’ reports, and they say you just need to upgrade. It’s good for the VPS hosting supplier if your sites go down, that might force you to upgrade. They train their support staff to upsell you.
If you compare this with shared web hosting. You pay per site that is hosted. The hosting company manages things to keep your server running, they budget for hardware (RAM, CPU , disk). You aren’t asked to upgrade your sites because RAM ran out. It’s the hosting companies job to keep the site running. The down side of web hosting is of course they jam too many sites on , and everything gets slow.
So this whole thing might not apply to you if:
The database server stops, all sites stop, until you free up disk space, and restarted the database server.
How can this happen ? well the poor backup and recovery capabilities of VPS’s means more backups are kept on the server than you should, and space usage creeps up. And it’s hard to find all those pesky old backups to clean up.
Best answer : use the whm/cpanel backup to s3. It might cost you more, but the disk space won’t run out.
Your pages start to load more slowly. The problem is the CPU didn’t keep up, and there is a few pages trying to calculate at the same time, slowing each other down. As they slow down more, more pile up, and slow each other down.
Other things can cause slow pages, like your backup kicks in and gobbles precious CPU. This is why WordPress backup plugins are trouble on a VPS, because it’s hard to control their CPU usage. What if you have 50 WordPress sites, running backup buddy – and you have 2 CPU cores, and people/bots still want web pages.
Most bots, like googlebot, are wanted and don’t cause too much problems. But when your server is busy, bot pages can be an issue. Especially baudi spider – I’ve seen it slam servers pretty good.
And then there are DDoS attacks, which on WordPress look like password guessing, and xmrpc attacks. But basically lots and lots of web hits, that eat up your CPU.
WordPress caching can help lower CPU usage, but it doesn’t help everything or every case.
Eventually only so many web page requests can be ‘in flight’ at once, and error pages start to get returned instead.
Memory get’s used either in a static manner or a dynamic manner.
the database (mysql) uses memory in a static fashion. Eventually it uses a set amount of memory – depending on configuration. If you have an SSD plan, reduce memory for the database and let it use the SSD a bit more.
Web page hits and php traditionally use dynamic memory, as a PHP WordPress hit comes in it requires some dynamic memory. You can choose static memory allocate per WordPress site. I’ll write a seperate post on this – as it’s complex.
More recent versions of php are faster, but require more memory.
If you choose the dynamic memory allocation, as your site gets slower (see above), more web requests in flight, therefore more memory is needed.
When your memory gets critically low, your server starts to use ‘swap memory’ , which is very slow, your server gets even slower, and even more web requests ‘in flight’, and you guessed it more memory is needed. Until your server can’t respond at all, and error pages get returned.
WordPress caching can help lower CPU usage, but it doesn’t help everything or every case.
php 5.6, php 7.0 and HHVM are all great. php 5.6 is pretty widely used, and php 7.0 looks to take over.
The newer the PHP versions execute pages more quickly, but use more memory.
php 5.6 uses a lot more memory than php 5.5 did. And php 7.0 uses gobs of memory, but is way faster and creating pages. (HHVM is more or less equivalent to php 7.0)
So you get faster pages , that need less CPU, but more memory. So to some extent you are robbing Peter to pay Paul.
If you have dynamic allocated memory, php 7.0 can create pages faster , and release the memory faster.
By Scott Farrell on June 9th, 2016 , Follow @scott_WordPress Tweet to @scott_WordPress
Email or call, and we can arrange a time to chat call 0412927156 or CONTACT US TODAY!