WooCommerce runs on the same software as any WordPress site, but its resource needs are driven by uncached traffic: shoppers browsing with items in their carts, checking out, and logging in to accounts. Those requests run PHP and hit the database every time. This guide helps you size a VPS for your store.

What actually uses resources

Factor Why it matters
Concurrent shoppers with carts Each cart, checkout and account page is uncached PHP
PHP memory per worker WooCommerce plus plugins often uses 80–150 MB per PHP-FPM worker
Catalogue size More products → bigger database, heavier search and filters
Orders per day Order writes, emails, stock updates, webhooks, background jobs
Plugins Subscriptions, bookings, multi-currency and page builders add overhead
Admin activity Reports and bulk edits are heavy requests

Anonymous visitors on cached product pages are cheap. Shoppers in the funnel aren’t.

Sizing guide

Store Typical profile Suggested VPS
New / small < 500 products, a few orders a day 2 vCPU, 4 GB RAM
Growing 500–5,000 products, dozens of orders a day 4 vCPU, 8 GB RAM
Busy 5,000+ products, hundreds of orders a day, campaigns 6–8 vCPU, 16 GB RAM
Large / peak sales Big catalogue, heavy plugins, many concurrent buyers 8+ vCPU, 16–32 GB RAM, or separate DB server

These are starting points. Measure, and adjust. See how much RAM a VPS needs and vCPU explained.

PHP workers: the key calculation

Each simultaneous uncached request needs one PHP-FPM worker. Rough maths:

RAM available for PHP ≈ total RAM − MySQL − Redis − OS (≈1 GB)
pm.max_children ≈ RAM available for PHP ÷ average PHP process size

Example: 8 GB VPS, 2 GB for MySQL, 256 MB for Redis, 1 GB for the OS → about 4.7 GB for PHP. At 120 MB per worker, that’s about 38 workers. Check real process sizes:

ps -ylC php-fpm8.3 --sort:rss | awk '{sum+=$8; n++} END {print sum/n/1024 " MB avg"}'

CPU limits how fast those workers finish. With few cores, more workers just wait for CPU time. See PHP-FPM tuning.

Storage

  • SSD storage matters for database performance. All VPS.DO plans use SSD storage.
  • Plan for product images (often the largest part), backups kept locally before off-site copies, and log files.
  • 40–80 GB covers most small and medium stores. Large image libraries may need more, or offloading to object storage. See storage VPS.

Performance tuning details: speed up WooCommerce.

Location and network

  • Host close to most of your customers. Checkout latency directly affects conversion. See choosing a VPS location.
  • For customers spread across regions, add a CDN for static assets. See WordPress CDN setup.
  • Transactional emails (order confirmations) need reliable delivery. Use an SMTP service, or a properly configured mail setup. See WordPress email and SMTP.

Security and compliance basics

  • Keep WordPress, WooCommerce and plugins updated, and test on staging. See WordPress staging site.
  • Use hosted payment fields or redirects from your payment gateway, so card data never touches your server. That keeps PCI DSS scope small.
  • Daily off-site backups, including the database (orders change constantly). See WordPress backup without a plugin.

When to upgrade

  • PHP-FPM log: server reached pm.max_children during normal traffic.
  • Checkout or cart TTFB climbing above about 1 second.
  • Load average consistently above your vCPU count. See uptime and load average.
  • Swap in active use, or out-of-memory kills.

Upgrade before big campaigns (Black Friday, product launches). On VPS.DO, plan upgrades are handled through a support ticket. See WordPress VPS hosting.

Quick reference

Store size Starting VPS
Small 2 vCPU / 4 GB
Growing 4 vCPU / 8 GB
Busy 6–8 vCPU / 16 GB
Key metric PHP workers × memory per worker

Related: WooCommerce performance and WordPress VPS performance tuning.

  • WooCommerce
  • VPS Guide
  • WordPress