Choose a VPS size by working out what the service needs at normal load, during busy periods and during recovery. CPU, RAM and disk capacity each answer a different question, so a useful recommendation explains the reason for every resource choice.
The process below turns those requirements into a starting plan and a clear review point. It also makes upgrades easier to justify later: you can identify which assumption changed instead of simply asking for a bigger server.
Step 1: describe what the server will run
Write a short description of the workload. For example: “This VPS runs a WordPress shop with checkout, scheduled product imports and customer uploads.” That gives the sizing discussion more direction than “we need more CPU”.
Include the database, background workers, search, caching and any other services sharing the VPS. An API, static website, media library and backup target can each need a different balance of resources.
If you are still defining the workload, the VPS size guide provides a broader starting point. For an existing service, collect measurements before selecting a replacement plan.
Step 2: measure normal and peak demand
Record everyday traffic, concurrent requests, active users, database activity and scheduled jobs. Then identify the busy periods: campaigns, imports, crawls, reports, launches or backups.
Measure both the duration and frequency of peaks. A brief job that can run overnight calls for a different decision from sustained checkout demand during business hours. Scheduling, caching or separating background work may reduce the resources needed at the busiest time.
Include the network requirement. Monthly transfer, peak throughput, response latency and provider transfer terms are separate considerations. A large allowance does not establish that a connection will meet the application's peak demand.
For a new service, label estimates as estimates and use a representative load test. If the peak is unknown, make measuring it an early review step rather than presenting a guess as a known requirement.
Step 3: identify the user journey that must stay responsive
Choose the part of the service that matters most. For a shop, that may be cart and checkout; for an API, request latency and errors; for a worker service, the time needed to clear its queue.
Use that path to set a performance target. Backups, imports and reports may be scheduled or throttled so they do not compete with essential requests during a busy window.
Write the reason into the recommendation. “Allow room for checkout workers and database writes during campaigns” gives the team a specific behaviour to test after deployment.
Step 4: estimate CPU needs
Look at the work behind CPU usage: dynamic page rendering, queries, compression, image processing, search or imports. Distinguish occasional bursts from sustained processing, and check whether one busy thread or many concurrent workers cause the limit.
More virtual CPUs help only when the application can use them. Review concurrency, caching and inefficient work before assuming that a higher core count will improve response time. Separating a background job may help more than increasing resources for the entire service.
Read the provider's CPU allocation model too. A listed vCPU count does not necessarily mean dedicated physical cores. Test the intended plan with a representative workload when consistent CPU performance matters.
Step 5: account for all memory consumers
Estimate the combined working set: application workers, database buffers, caches, queues, search processes, maintenance jobs and operating-system overhead. Leave enough room for the tasks that overlap at peak load.
On an existing server, inspect available memory, swapping and out-of-memory events alongside process usage. A server using memory for reclaimable cache is different from one repeatedly killing workers because their combined allocations exceed capacity.
Page count alone is a poor sizing measure. A small site with heavy plugins or reporting jobs may need more memory than a much larger site serving cached pages. Test the actual application and its background work.
Step 6: plan storage capacity and performance
Count the operating system, application files, database, uploads, logs, temporary files and expected growth. Include working space for imports, updates and any local backup staging or restore test that the operating plan requires.
Estimate growth over a defined period and document retention. Logs or archives without a cleanup policy can fill any initial allocation. Keep independent recovery copies outside the production server even when local staging is convenient.
Storage speed also matters. A database waiting on writes may be slow while CPU and RAM appear comfortable. Review latency and I/O demand, not just free gigabytes or an SSD label. The IOPS and VPS storage guide explains those measures.
Step 7: include backup and recovery work
Record when backups run, where they are stored, how long they are retained and how restoration is tested. Backup compression, exports and verification consume resources that may overlap with the live application.
Plan the restore location and temporary space. If recovery uses a separate server, include that requirement in the operating plan; if it needs local staging, reserve the space explicitly. A production dataset fitting on disk does not mean there is room to rebuild or roll back safely.
Use the VPS backup strategy guide to connect capacity with retention and recovery targets. Include the time required to transfer and restore the data, not just the archive size.
Step 8: match the plan to the people operating it
Name the people responsible for access, updates, monitoring, backups, incidents and capacity reviews. Decide which work the team can perform and which needs a separately arranged service.
A small, tightly tuned server can require more frequent intervention. Additional capacity may reduce pressure, but it does not replace an administrator or a recovery procedure. Choose an arrangement the team can maintain, and include that labour in the cost comparison.
Record any missing owner or skill as an action to resolve before launch. Hardware specifications cannot settle an unclear support arrangement.
Step 9: choose a starting plan and a review trigger
Select a plan that covers the known workload with a justified margin. State which assumptions were measured, which remain estimates and when you will review them.
Useful review triggers include sustained CPU saturation, memory pressure during busy periods, growing queues, database waits, disk growth beyond the forecast or backups exceeding their maintenance window. Tie them to user-visible performance where possible.
Confirm how the plan can change. CPU, memory and storage upgrades may have different procedures, downtime requirements and limits on later downsizing. Verify the documented route instead of assuming every resource can be added instantly.
Step 10: write a recommendation the team can use
Include the workload, normal and peak demand, priority user journey, resource reasoning, recovery arrangements, operating owner and review trigger. Attach the measurements or test results that support the selected plan.
For example, a recommendation for a cached WordPress shop could explain that the chosen plan covers the measured web-worker and database demand, allows space for the forecast upload growth and schedules imports outside the sales window. Its review point could be the next campaign, using checkout latency, memory pressure and queue length.
Fill in the actual plan and measured values for the service being assessed. Avoid presenting an illustrative workload as a sizing guarantee.
The result should tell the team why the starting size is reasonable, how to check it after deployment and what would justify changing it.
VPS plans for your measured workload
Use your CPU, RAM, storage and traffic estimates to choose a starting plan. Virtarix VPS plans include root access, NVMe storage, IPv4 + IPv6 and one snapshot. Arrange independent backups for recovery.
VPS S
For small sites, dev servers and Docker
- ✓ 3 cores
- ✓ 6 GB
- ✓ 50 GB NVMe
- ✓ Unlimited
VPS M
For growing apps, websites and staging
- ✓ 6 cores
- ✓ 16 GB
- ✓ 100 GB NVMe
- ✓ Unlimited