---
title: "VPS for WordPress: how to pick RAM, CPU and disk | StreetHosting"
description: "How much RAM, vCPU and NVMe your WordPress needs: the PHP and database memory math, the weight of caching, visits per plan and signs it is time to upgrade."
url: "https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress"
type: "page"
language: "en-US"
---

VPS · 10 min · Beginner

Published on Sep 28, 2026 · Updated on Sep 28, 2026

# How much VPS your WordPress really needs

Sizing a VPS for WordPress means adding up the memory of PHP, the database and the system, working out how many pages miss the cache and leaving room for uploads to grow. Here is the math and a table of visits per plan.

By [Equipe StreetHosting](https://streethosting.com.br/en/autores#equipe-streethosting) · StreetHosting infrastructure and support team

[Hardware and datacenter](https://streethosting.com.br/en/guides/topics/hardware) [Performance and optimization](https://streethosting.com.br/en/guides/topics/performance) [Deploying and running apps](https://streethosting.com.br/en/guides/topics/deploy) [Costs, plans and billing](https://streethosting.com.br/en/guides/topics/costs)

Summarize with:

[](https://chat.openai.com/?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "ChatGPT") [](https://claude.ai/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Claude") [](https://www.google.com/search?udm=50&aep=11&q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Google AI Mode") [](https://x.com/i/grok?text=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Grok") [](https://www.perplexity.ai/search/new?q=Summarize%20the%20key%20points%20of%20this%20StreetHosting%20guide%3A%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress.%20Highlight%20the%20step-by-step%20instructions%2C%20the%20prerequisites%20and%20the%20most%20common%20mistakes. "Perplexity")

Share:

[](https://x.com/intent/tweet?text=VPS%20for%20WordPress%3A%20how%20to%20pick%20RAM%2C%20CPU%20and%20disk&url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress "Share on X") [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress "Share on Facebook") [](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress "Share on LinkedIn") [](https://wa.me/?text=VPS%20for%20WordPress%3A%20how%20to%20pick%20RAM%2C%20CPU%20and%20disk%20https%3A%2F%2Fstreethosting.com.br%2Fen%2Fguides%2Fvps%2Fchoose-vps-for-wordpress "Share on WhatsApp")

For agents: Copy as Markdown [.md](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress.md)

In this guide 8 sections

* [What weighs on a WordPress site](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#o-que-consome)
* [RAM: the math that decides the plan](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#ram)
* [CPU: vCPU, clock speed and uncached pages](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#cpu)
* [Disk: NVMe, uploads and backups](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#disco)
* [From monthly visits to requests](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#cache-e-trafego)
* [Table of visits per plan](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#tabela-planos)
* [Signs it is time to upgrade](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#sinais-upgrade)
* [Xeon or Ryzen for your site](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#qual-vps)

Quick answer

You pick a **VPS for WordPress** by memory: add about 400 MB for the system, 40 to 100 MB per PHP process, the database memory and, if you use it, Redis memory. A blog with caching lives on 2 GB, a WooCommerce store starts better at 4 to 6 GB and several sites need 8 GB. CPU matters for the pages that miss the cache, and the disk has to fit the uploads, the database and the backup copies.

## What weighs on a WordPress site[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#o-que-consome)

Every visit to a page that is not cached goes through three layers: Nginx receives the connection, PHP builds the page by running the core, the theme and every active plugin, and the database answers the queries PHP makes along the way. Nginx uses almost no resources. PHP uses CPU while it runs and memory while it exists. The database uses memory to keep the most used data off the disk.

That is why two sites with the same number of visits can need very different plans. A blog with page caching serves almost everything straight from Nginx. A store with a cart, shipping calculation and customer area runs PHP on a good share of its requests. If you are leaving shared hosting, the guide on [when to move from shared hosting to a VPS](https://streethosting.com.br/en/guides/vps/vps-vs-shared-hosting) helps you decide whether the time has come.

## RAM: the math that decides the plan[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#ram)

Memory is the resource that runs out first on WordPress. When it runs short, Linux pushes processes into swap, everything slows down and, in the worst case, the kernel kills MariaDB to save itself. The values below are typical ranges; yours can fall above or below them.

| Component              | Typical usage          | Notes                                                                         |
| ---------------------- | ---------------------- | ----------------------------------------------------------------------------- |
| Ubuntu, SSH and Nginx  | 300 to 500 MB          | Nginx itself uses a few MB; the rest is the system and basic services         |
| Each PHP FPM process   | 40 to 100 MB           | Stores, visual builders and full SEO plugins sit at the high end of the range |
| MariaDB                | 300 MB to 1 GB or more | Grows with the InnoDB buffer, which should follow the size of the database    |
| Redis for object cache | 64 to 256 MB           | You set the ceiling with maxmemory                                            |
| Linux disk cache       | Whatever is left       | Not a waste: it speeds up reading files and the database                      |

An example of a small store: 400 MB for the system, 8 PHP processes at 80 MB each (640 MB), 512 MB for MariaDB and 128 MB for Redis. The total comes to about 1.7 GB. On a 2 GB plan that runs, but with no margin: a backup compressing the database, a plugin update or a traffic spike already pushes the VPS into swap. With 4 GB, the same store works with room to spare.

To replace the estimate with the real number for your site, check the average memory per PHP process after a few hours of use:

`ps -o rss= -C php-fpm8.3 | awk '{s+=$1; n++} END {printf "%.0f MB por processo\n", s/n/1024}' free -h`

Divide the memory you want to give PHP by that average and you get the value for `pm.max_children`, as we show in the guide on [WordPress with Nginx, PHP FPM and MariaDB](https://streethosting.com.br/en/guides/vps/host-wordpress-on-vps-nginx). Redis comes in when the dashboard and logged in pages run many repeated queries; the step by step is in [setting up Redis on an Ubuntu VPS](https://streethosting.com.br/en/guides/vps/install-redis-ubuntu-vps).

A 1 to 2 GB [swap file on Ubuntu](https://streethosting.com.br/en/guides/vps/set-up-swap-ubuntu-vps) is a safety net against rare spikes. It does not replace RAM: if swap is in use all the time, the plan has become too small.

## CPU: vCPU, clock speed and uncached pages[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#cpu)

A cached page costs almost no CPU. What consumes processor time are the requests that have to go through PHP: the admin dashboard, logged in users, cart and checkout, internal search, calls to `admin-ajax.php` and to the REST API, and the first visit after the cache is cleared.

While one of these requests runs, it occupies a PHP process and practically one vCPU. If a page takes 300 ms of processing, each vCPU delivers about three per second. That leads to two ways of gaining capacity:

* **More vCPU:** more simultaneous requests without queuing. This is what the Xeon line offers at a lower price. At the 8 GB tier, the Xeon brings 6 vCPU for R$ 77.00.
* **Higher clock speed:** each request finishes sooner, and visitors feel the difference in time to first byte. This is the strength of the Ryzen 9 9950X, with up to 5.7 GHz and DDR5. At the same 8 GB tier, the Ryzen brings 4 vCPU for R$ 118.00.

One detail that causes CPU spikes with no visits at all is the internal WordPress scheduler, which runs pending tasks during visitor requests. On sites with constant traffic, it is worth turning that trigger off with `define('DISABLE_WP_CRON', true);` in `wp-config.php` and calling the scheduler from the system cron every five minutes:

`*/5 * * * * curl -s https://your-domain.com/wp-cron.php?doing_wp_cron > /dev/null`

## Disk: NVMe, uploads and backups[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#disco)

WordPress core takes up less than 100 MB, and themes and plugins add a few hundred more. What grows is the uploads folder: every image you upload turns into several copies at different sizes, and a site with years of posts easily reaches tens of GB. A blog database is usually a few dozen MB; a store with years of orders can pass a few GB.

To land on the right size, add the uploads, the database, about 10 GB for the system, logs and updates, and room for at least one local copy of the backup before it is sent off the machine. On your current VPS or old hosting, measure with:

`du -sh /var/www/*/wp-content/uploads sudo du -sh /var/lib/mysql df -h /`

The disk type matters as much as the size. The database makes small, scattered reads, exactly where NVMe pulls away from SATA SSD and HDD; the full comparison is in [HDD, SSD and NVMe: the difference in practice](https://streethosting.com.br/en/guides/infrastructure/hdd-vs-ssd-vs-nvme). All StreetHosting VPS plans use NVMe.

Increasing the disk through the control panel is simple, but shrinking it is not always possible. Pick the storage with one or two years of uploads in mind and save the RAM and CPU upgrades for when the numbers call for them.

## From monthly visits to requests[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#cache-e-trafego)

Monthly visits scare people more than they should. 300,000 page views a month is 10,000 a day, or about 7 per minute on average. The problem is that traffic is not uniform: it concentrates in a few hours of the day, and a newsletter, a post that goes viral or a paid campaign multiplies the volume by 10 or more for a few minutes. Size for the peak, not the average.

The cache hit rate is what turns visits into real load. With 90% of pages served from the cache, only one in ten reaches PHP. A useful formula for the peak: the PHP processes you need equal the uncached requests per second times the average time of each one. Twenty requests per second at 300 ms need about 6 processes running at the same time, and therefore about 6 free vCPU to avoid queuing.

Every page view also pulls dozens of static files, such as CSS, JavaScript and images. Nginx serves those files with little effort, and the 1 Gbps port on the plans handles a lot of traffic. A CDN only becomes important when the images are heavy or the audience is far from São Paulo.

## Table of visits per plan[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#tabela-planos)

The plans below are starting points on the Xeon line, assuming page caching is configured and a reasonable number of plugins. A heavy theme or a badly written plugin can change the whole calculation, so confirm with monitoring after the migration.

| Site profile                               | Page views per month | Starting Xeon plan          | Monthly price |
| ------------------------------------------ | -------------------- | --------------------------- | ------------- |
| Blog or company site                       | Up to 50,000         | 2 vCPU, 2 GB, 20 GB NVMe    | R$ 26.00      |
| Small blog or portal                       | 50,000 to 200,000    | 3 vCPU, 4 GB, 40 GB NVMe    | R$ 43.00      |
| Entry level WooCommerce store              | Up to 100,000        | 4 vCPU, 6 GB, 60 GB NVMe    | R$ 60.00      |
| News portal or several sites               | 200,000 to 1 million | 6 vCPU, 8 GB, 80 GB NVMe    | R$ 77.00      |
| Store with a large catalog and many orders | 100,000 to 500,000   | 9 vCPU, 16 GB, 160 GB NVMe  | R$ 145.00     |
| Member area, courses or large store        | Over 500,000         | 15 vCPU, 32 GB, 320 GB NVMe | R$ 281.00     |

Notice that the store needs more resources than the blog at the same traffic. Cart, checkout and customer account pages cannot come from the cache, and every order writes to the database. Member areas and course platforms are the extreme case: almost every visitor is logged in, and page caching helps very little.

## Signs it is time to upgrade[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#sinais-upgrade)

The right plan today can be too small in six months. These are the signs that count for more than any estimate, and they show up first for people who watch the VPS with [htop and Netdata](https://streethosting.com.br/en/guides/vps/monitor-vps-resources-htop-netdata):

| Sign                                                       | Where to see it                  | What usually fixes it                                              |
| ---------------------------------------------------------- | -------------------------------- | ------------------------------------------------------------------ |
| Constant swap usage or processes killed for lack of memory | free and the kernel log (dmesg)  | More RAM or fewer PHP processes                                    |
| Warning that the pool reached pm.max\_children             | PHP FPM log                      | More processes if there is spare RAM; otherwise a bigger plan      |
| Load average above the number of vCPU for hours            | uptime or htop                   | More vCPU, or review plugins and caching first                     |
| Slowness only on uncached pages                            | Time to first byte in monitoring | Higher clock speed, as on the Ryzen line                           |
| Disk above 80%                                             | df                               | A plan with more NVMe, or clean up local backups and old revisions |
| Slow database queries                                      | MariaDB slow query log           | A bigger InnoDB buffer, which needs RAM, and indexes               |

Before paying for more resources, rule out the obvious: a plugin that runs hundreds of queries per page, a cache that is not working or a bot hammering the internal search. The Query Monitor plugin shows which queries and which plugins weigh on each page. If the problem really is a lack of capacity, the upgrade through the control panel charges only the prorated difference and requires a VPS restart, so schedule it for a low traffic hour.

## Xeon or Ryzen for your site[](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#qual-vps)

For most WordPress sites, the [StreetHosting Xeon VPS](https://streethosting.com.br/en/vps/xeon) is the best value: more vCPU per real, NVMe, Enterprise Anti-DDoS and an average latency of 20 ms in Brazil, starting at R$ 26.00. With page caching, blogs, company sites and portals do very well on it.

The Ryzen 9 9950X VPS, from R$ 40.00 to R$ 846.00, makes sense when the site spends most of its time outside the cache: stores with many logged in customers, course platforms, member areas and admin dashboards used all day. The comparison between the two lines is in [Ryzen VPS or Xeon VPS](https://streethosting.com.br/en/guides/vps/ryzen-vs-xeon-vps).

Both lines are in São Paulo, with root access, activation within 60 seconds and payment by Pix, boleto or card. Start at the tier the memory math pointed to, measure for a few weeks and move up when the signs appear.

In this guide

* [What weighs on a WordPress site](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#o-que-consome)
* [RAM: the math that decides the plan](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#ram)
* [CPU: vCPU, clock speed and uncached pages](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#cpu)
* [Disk: NVMe, uploads and backups](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#disco)
* [From monthly visits to requests](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#cache-e-trafego)
* [Table of visits per plan](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#tabela-planos)
* [Signs it is time to upgrade](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#sinais-upgrade)
* [Xeon or Ryzen for your site](https://streethosting.com.br/en/guides/vps/choose-vps-for-wordpress#qual-vps)

## Frequently asked questions

How many GB of RAM does WordPress need?

A blog with page caching runs well on 2 GB. A WooCommerce store starts better at 4 to 6 GB, and portals or several sites on the same VPS need 8 GB or more. The real math adds up the PHP processes, the database and the system, and should leave headroom for spikes and backups.

Xeon VPS or Ryzen VPS for WordPress?

Xeon serves most sites, because it delivers more vCPU per real and page caching handles the rest. Ryzen is worth it when many pages cannot come from the cache, such as stores with lots of logged in customers, courses and member areas, because the higher clock speed shortens every request.

Can a 2 GB VPS handle WooCommerce?

It can run a small store with few orders, but right at the limit. Cart, checkout and customer account pages do not use page caching, and backups and updates compete for the same memory. With 4 GB the store has room to grow without surprises.

Do I need a CDN for WordPress hosted on a VPS?

It is not required for a Brazilian audience with a server in São Paulo. A CDN helps when the site has many heavy images, visitors in other countries or big spikes, because it takes static files off the VPS and leaves the CPU free for PHP.

Can I start with a small plan and upgrade later?

Yes. The upgrade through the control panel charges only the prorated difference and requires a VPS restart. Shrinking the disk is not always possible, so pick the storage with upload growth in mind and increase RAM and CPU as the need appears.

Next step

See Xeon VPS

Xeon VPS for steady workloads, automation and long-running projects.

[See Xeon VPS](https://streethosting.com.br/en/vps/xeon)

[See VPS plans Root VPS in Brazil with NVMe and Anti-DDoS.](https://streethosting.com.br/en/vps) [See Ryzen VPS Ryzen 9 9950X VPS in São Paulo with root access, NVMe and gamer Anti-DDoS.](https://streethosting.com.br/en/vps/ryzen)

## Related guides

[VPS Intermediate Host WordPress on a VPS: Nginx, PHP 8.3 and MariaDB Installing WordPress by hand, with no control panel, gives you full control over performance and security. The path is short: Nginx, PHP FPM and MariaDB on Ubuntu 24.04, a dedicated database, HTTPS and two layers of cache. 9 min Read guide](https://streethosting.com.br/en/guides/vps/host-wordpress-on-vps-nginx) [VPS Intermediate How to install WordPress with Docker Compose on a VPS With Docker Compose, WordPress and its database come up with a single command and the data lives in volumes that survive any update. See the full file, the HTTPS proxy and the backup routine. 9 min Read guide](https://streethosting.com.br/en/guides/vps/install-wordpress-docker-vps) [VPS Intermediate High-traffic WordPress on a VPS in Brazil Black Friday and viral posts take down a badly configured WordPress site before the VPS runs out of CPU. This guide covers the stack and hardware for a Brazilian audience. 2 min Read guide](https://streethosting.com.br/en/guides/vps/high-traffic-wordpress-vps)

[← Back to the Guide Center](https://streethosting.com.br/en/guides)
