Skip to content

Solutions · WordPress

What size VPS does WordPress actually need?

Less than you were sold, usually. A cached page never reaches PHP, so memory decides how many uncached requests run at once — not how many visitors you can have. Here is the arithmetic, the bandwidth question nobody prints, and the machine we would buy: BD-8 at $11.90 a month.

The part hosts leave out

Caching is why the answer is small

Almost every WordPress hosting plan is sold on memory. On a cached site, memory is not the thing that runs out.

Cached request

The web server finds a ready-made HTML file and sends it. PHP does not start. The database is not opened. It costs a few milliseconds and almost no memory, and it is what most of your visitors get.

Uncached request

A PHP worker starts, loads WordPress and your plugins, queries the database and builds the page. It holds 4896 MB while it does so. This is the request memory is actually for.

What cannot be cached

Carts, checkouts, logins, anything personalised. A shop is a different sizing problem from a blog for exactly this reason — and it is the case where paying for memory is right.

The arithmetic

How many PHP workers a plan actually holds

Workers = (RAM − 300 MB operating system − 400 MB database) ÷ what one worker holds. The two columns are a light theme and a heavy one; your own site sits somewhere between them, and the FAQ says how to read it rather than guess.

PHP-FPM worker capacity and monthly transfer allowance for each plan, with live prices
PlanRAMLight themeHeavy siteTransferPriceDeploy
VPS-1A blog, a portfolio, a brochure site1 GB631 TB$9.90Deploy
BD-8A busy site, a shop, several sites on one box8 GB1567832 TB$11.90Deploy
C2-4A single site you want headroom on4 GB703522 TB$13.90Deploy
U2-4A site whose traffic you cannot predict4 GB7035Unmetered$17.90Deploy

A worker that takes 200 ms to render a page serves five requests a second. Four workers is twenty uncached requests a second before anyone queues — and on a cached site that is a great deal of traffic. These are not benchmarks: they are the arithmetic, with figures you should replace with your own.

The number nobody prints

Bandwidth decides the plan more often than memory does

Page weight × pageviews. That is the whole formula, and it is worth doing before you choose on RAM.

Monthly transfer for three page weights at ten thousand, one hundred thousand and one million pageviews
Page weight10,000 views/mo100,000 views/mo1,000,000 views/mo
A light blog page0.8 MB8 GB78 GB781 GB
A typical WordPress page2.5 MB24 GB244 GB2.4 TB
An image-heavy shop page5 MB49 GB488 GB4.8 TB

Read this before paying for unmetered

Most WordPress sites never come close to their allowance. BD-8 includes 32 TB for $11.90 — enough for a million views of a typical page many times over — so the unmetered line is worth its extra only if a genuine spike would otherwise cost you more than the difference. If your traffic is images and video rather than text, do the arithmetic above with your own page weight before choosing, because that is the case where the allowance runs out while the memory sits idle.

Honestly

What we would actually buy

Two answers, and neither of them is the most expensive machine on the page.

Starting out

VPS-1 · $9.90/mo

1 core, 1 GB, 25 GB NVMe. With a caching plugin in front of it this runs a blog or a brochure site properly, and it costs less than being wrong about it for a year. If it turns out to be too small you will know, because the site will slow down under load rather than fall over — and moving up is a file copy.

The one we would buy

BD-8 · $11.90/mo

4 cores, 8 GB, 100 GB NVMe and 32 TB of transfer — for less than VPS-4, which has the same cores and memory and 3 TB. The trade is real and we will state it: this platform is tuned for density rather than clock speed, so a single request is not as fast as on the HF-4 line. For WordPress, where the work is many small requests rather than one heavy one, that is the right trade.

Questions

What people ask before they buy one.

How much RAM does WordPress need?
Less than you have been told, if the site is cached. A cached page is a file the web server sends straight from disk — PHP does not start and the database is not touched — so on a site where most visitors see cached pages, RAM decides how many UNCACHED requests can run at once, not how many visitors you can have. That is why a 1 GB machine runs a real blog: after the operating system and the database take their 700 MB or so, what is left still runs a handful of PHP workers, and a handful is enough when nine out of ten requests never reach PHP. Where RAM genuinely decides the answer is a shop or a membership site, because carts, checkouts and logged-in sessions cannot be cached and every one of them is a live PHP request.
How many visitors can a small VPS handle?
The honest answer is that nobody can tell you from the outside, because it depends on how many of your requests are cached and how long an uncached one takes. What we can give you is the arithmetic: workers = (RAM − 300 MB for the OS − 400 MB for the database) ÷ what one PHP worker holds, and a worker that takes 200 ms serves five requests a second. Multiply, and be pessimistic. Then test it: deploy by the hour, run a load test against your own site with your own plugins, and destroy the machine afterwards. That costs a few cents and beats every estimate on this page, including ours.
Is bandwidth or memory more likely to run out first?
Bandwidth, more often than people expect, and it is the number almost no host puts next to the plan. A typical WordPress page weighs about 2.5 MB, so a hundred thousand pageviews is roughly 244 GB — comfortable. A million is about 2.4 TB, which is more than the allowance on several plans that have plenty of memory left. That is the whole reason this page prints an allowance column: BD-8 carries 32 TB and VPS-4 carries 3 TB, and for a media-heavy site that difference matters more than the cores do.
Do I need managed WordPress hosting?
Only if you would rather not do the updates. A VPS gives you root and nothing else — you install WordPress, you patch it, you take the backups, and you are responsible when a plugin breaks the site at 2am. That is cheaper and more flexible, and it is genuinely more work. If that work is not something you want, our managed tiers exist and we would rather point you at them than sell you a machine you will not maintain. An unpatched WordPress is the most reliably compromised thing on the internet.
Should I put WordPress and MySQL on the same server?
On one site, yes — almost always. Splitting them adds a network hop to every query and a second machine to maintain, in exchange for headroom you probably do not need yet. Split them when the database is genuinely the constraint and you have measured that it is, or when you are running several sites heavy enough to want the database isolated. If you do split, our managed database line runs PostgreSQL and MySQL for you, which is a different trade: more money, less of your evening.
Which region should the server be in?
The one closest to your readers, not to you. Distance is one of the things that decides how long a page takes to start arriving, and a site read in Europe is better off in Europe even if you are not. If your readers are spread out, put the server near the largest group and put a CDN in front of the static files — that is what a CDN is genuinely good at. We sell in several regions and every plan page lists the ones it can actually be built in.
Can I move my existing site to one of these?
Yes, and it is a file copy and a database dump — not a special product. Any of the standard migration plugins will do it, or you can move it by hand with rsync and mysqldump if you would rather understand what happened. Deploy the new machine by the hour while you test the copy, point the domain at it when you are happy, and destroy the old one. The overlap costs cents, and it means the rollback is "change the DNS back".