What kind of VPS does a website need
Moving from shared hosting to a VPS usually happens for one of three reasons: the site has hit its CPU limits, you need a PHP version or module the hosting doesn't offer, or too many projects have piled up on one account. A virtual server removes these restrictions, but in exchange configuration and updates become your responsibility.
How many resources to take for a CMS and traffic
Don't go by the number of visitors; go by how many requests actually reach PHP and the database. A rough scale for typical sites:
- Landing page, business card site, static site — 1 core and 1 GB RAM. Serving HTML through nginx costs almost nothing.
- Blog or company website on a CMS with caching, up to several thousand visitors a day — 1–2 cores and 2 GB. For the most popular engine there's a separate selection, VPS for WordPress.
- Online store with a catalogue, filters and a cart — 2 cores and 4 GB or more. You can't fully cache the cart and customer accounts, so the load on the database is noticeably higher.
- Several sites on one server — add up their needs and add 30–50 % headroom: at peak hours the projects load the server at the same time.
Memory almost always runs out before the CPU does. Once the server starts swapping, the site slows down more than it would from a lack of cores.
SSD or NVMe
There's no point in taking an HDD for a website today: the database does lots of small random reads, and a slow disk becomes the main bottleneck. A regular SSD is enough for most projects. NVMe gives a noticeable gain on large databases, stores with thousands of products and frequent backups. Work out the size like this: site files, database, logs and two or three local backups, plus room for system updates. 20 GB is enough for a small site; a store with product photos needs more. You can compare disks on the NVMe VPS page.
Control panel or console
If you're not ready to configure nginx, PHP-FPM, the database and SSL certificates by hand, install a panel. It takes care of virtual hosts, mailboxes, backups and certificate issuance. Keep two things in mind: some panels are paid, and the panel itself eats 300–500 MB of memory. On a 1 GB server that's significant, so with a panel it's better to take 2 GB or more. One option is a VPS with ISPmanager; free alternatives include FASTPANEL, aaPanel and HestiaCP.
Without a panel the server is lighter and more secure, but every change has to be made in the console, and you have to keep track of updates yourself.
Where to put the server
Place the server close to your audience. For a European audience, Germany or the Netherlands are a good fit; for an American one, the USA. Also check whether local data-protection rules require you to store your visitors' personal data in a particular country. A CDN partly smooths out the distance for static files, but dynamic pages are still generated on the server.
The plans in the table above are sorted by price, and the "Payment" column shows how you can pay each host.