When choosing a VPS, the most important factor is not the highest numbers in the plan, but how well the configuration matches the actual workload. A small website may be fine even on a minimal plan with 1–2 vCPU and 1–2 GB RAM, while an online store, Bitrix, or an application with a database typically needs more memory, fast storage, and predictable CPU performance.
A quick guideline looks like this:
| Project | Reasonable starting point |
| Landing page or small website | 1 vCPU, 1 GB RAM, SSD/NVMe |
| WordPress blog | 1–2 vCPU, 2 GB RAM, NVMe |
| Online store | 2–4 vCPU, 4–8 GB RAM, NVMe |
| Bitrix | 2–4 vCPU and 4–8 GB RAM or more |
| Node.js application | 2 vCPU and 2–4 GB RAM or more |
| Database | 2–4 vCPU, 4–8 GB RAM, and fast NVMe or more |
These are not universal requirements, but starting guidelines. Actual requirements depend on traffic, the CMS, the number of plugins, background tasks, database size, caching, and code quality.
The CPU handles request processing and code execution. RAM is needed by applications, the database, and the cache. Fast NVMe is especially important for dynamic websites, online stores, and systems with frequent read and write operations. Network bandwidth and the server region affect load times for your audience and the operation of external integrations.
Signs of insufficient resources usually differ:
- Consistently high CPU usage and slow request processing indicate a CPU shortage;
- Process errors, heavy swap usage, and unexpected service shutdowns point to insufficient RAM;
- Long database queries and high I/O latency indicate disk issues;
- Slow file serving and unstable connections point to network limitations.
You should not choose a VPS based only on the lowest price. The total cost should include backups, snapshots, administration, monitoring, and the ability to upgrade. For a dynamic website, it is better to avoid HDD storage, and the server should ideally be located closer to the main audience or key external services.
Which VPS specifications really matter

CPU: How Many Cores Does a Project Need?
The CPU processes user requests, runs application code, handles the CMS, PHP, Node.js, and some database operations. The more concurrent requests and background tasks there are, the higher the CPU load.
For a landing page or small website, 1 vCPU is usually sufficient. A WordPress blog is better served by starting with 1–2 vCPUs, while an online store, Bitrix, or an application with an active backend should start with 2–4 vCPUs. However, the number of cores cannot be assessed separately from their performance: two modern vCPUs may run faster than four virtual cores on an old or overloaded processor.
It is also worth checking whether a shared CPU is used and whether there are limits on sustained load. A shared processor is acceptable for a small website, but an API, an online store, and background workers require more predictable performance.
The CPU determines compute speed, but the server also needs memory for running processes, the database, and cache.
RAM: Where the Comfortable Minimum Ends
RAM is used by the operating system, web server, CMS, database, cache, and background processes. If RAM runs out, the server starts using slower swap space or terminates individual services.
For a simple website, 1 GB may be the technical minimum, but 2 GB provides more headroom for updates and background tasks. WordPress typically runs more comfortably with 2–4 GB, while an online store, Bitrix, or an application with a database often requires 4–8 GB.
There is no need to choose the maximum amount “just in case.” It is better to leave a modest buffer and check in advance whether RAM can be increased without migrating the project. At the same time, additional memory will not fix high CPU load, slow queries, or data storage issues.
The next important parameter is storage, which affects file loading speed and database performance.
NVMe and Disk Speed
For a dynamic website, it is better to choose SSD or NVMe storage. They are significantly faster than HDDs for the large number of small operations generated by CMS platforms, online stores, logs, and databases.
NVMe is especially useful for projects with an active database, a large catalog, search, imports, and frequent write operations. However, the NVMe label alone does not guarantee high performance: the provider may limit IOPS and read or write speeds.
HDDs make sense for archives, rarely accessed files, or low-cost additional storage. Hosting the main dynamic website on an HDD is usually inefficient: slow data access increases response times even when CPU and RAM resources are sufficient.
A server may process requests and data quickly, but users will still experience delays if the hosting location is far away or the network connection is tightly restricted.
Traffic, Network Bandwidth, and Server Region
Port speed indicates how much data a server can transmit over a given period of time. For a typical website, 100 Mbps is often sufficient, but file services, APIs, backups, and projects with large amounts of media content may require a higher-bandwidth connection.
When reviewing a plan, you should check not only the port speed, but also the monthly amount of included traffic, the cost of exceeding the limit, and any possible speed throttling. The term “unlimited traffic” is sometimes accompanied by a bandwidth restriction after a certain volume has been reached.
Ideally, the server region should be chosen as close as possible to the primary audience. The greater the physical and network distance, the higher the latency. For a website with an American or European audience, it is usually reasonable to choose the nearest suitable data center, while also taking into account data storage requirements and the availability of external services.
Ultimately, a configuration cannot be selected based on a single parameter. CPU, RAM, storage, and network resources work together, so next we will combine them into a practical calculator with “minimum,” “comfortable,” and “with headroom” options for different types of projects.
Plan Selection Calculator

Below are starter configurations for common project types. These are not strict requirements, but guidelines for a single VPS that may run the operating system, web server, application, and database at the same time.
| Project type | Minimum | Comfortable | With headroom |
| Landing page or static website | 1 vCPU, 1 GB RAM, 10–20 GB SSD/NVMe | 1–2 vCPU, 2 GB RAM, 20–30 GB NVMe | 2 vCPU, 2–4 GB RAM, 30–50 GB NVMe |
| WordPress blog | 1 vCPU, 2 GB RAM, 20–30 GB NVMe | 2 vCPU, 2–4 GB RAM, 30–50 GB NVMe | 2–4 vCPU, 4–8 GB RAM, at least 50 GB NVMe |
| Online store | 2 vCPU, 4 GB RAM, 40–60 GB NVMe | 4 vCPU, 8 GB RAM, 60–100 GB NVMe | 4–8 vCPU, 8–16 GB RAM, at least 100 GB NVMe |
| 1C-Bitrix website | 2 vCPU, 4 GB RAM, 40–60 GB NVMe | 4 vCPU, 8 GB RAM, 60–100 GB NVMe | 6–8 vCPU, 12–16 GB RAM, at least 100 GB NVMe |
| Node.js application | 1–2 vCPU, 2 GB RAM, 20–30 GB NVMe | 2–4 vCPU, 4 GB RAM, 30–60 GB NVMe | 4–8 vCPU, 8 GB RAM, at least 60 GB NVMe |
| Dedicated database server | 2 vCPU, 4 GB RAM, 30–50 GB NVMe | 4 vCPU, 8 GB RAM, 50–100 GB NVMe | 8 vCPU, 16 GB RAM or more, at least 100 GB NVMe |
Minimum configuration is suitable for launch, development, or a small production project with moderate load. It requires careful configuration and leaves almost no room for a sudden increase in traffic or additional services.
Comfortable configuration leaves headroom for the operating system, updates, cache, background tasks, and short-term spikes. For most small and medium-sized projects, this is the most reasonable starting point.
A plan with headroom is needed when traffic growth is expected, heavy plugins, imports, queues, multiple applications, or an active database are used. However, choosing the highest-tier plan in advance is not always cost-effective: first, you should make sure the provider allows resources to be scaled up quickly without a complex migration.
Project type is not the only factor to consider when sizing a VPS. Requirements are also affected by:
- The number of concurrent users;
- Traffic during peak hours;
- The number and quality of plugins;
- Database size and query frequency;
- Whether caching is used;
- Background imports, mailings, and queues;
- Whether the database is hosted on the same VPS;
- The number of websites and services on the server.
For example, a small WordPress blog with caching can run reliably with 2 GB of RAM. However, the same WordPress site with WooCommerce, a heavy page builder, a large catalog, and frequent imports will require an online-store-level configuration.
For a Node.js application, the workload profile is especially important. A simple API may be fine with 2 GB of RAM, while file handlers, multiple worker processes, or running a database on the same server will quickly increase the requirements.
After launch, the selected configuration should be validated against real metrics. High CPU utilization, active swap usage, disk latency, and slow data transfer indicate which specific resource has become the bottleneck. We will look at these symptoms next.
How to determine which resource is lacking

Signs of Insufficient CPU Resources
When the processor regularly runs at its limit, the server processes requests and background tasks more slowly. Pages may load normally when traffic is low, but slow down noticeably during peak hours.
A CPU shortage is usually indicated by:
- Sustained CPU utilization of 90–100%;
- Increased response times as the number of users grows;
- Delays during imports, page generation, and background task processing;
- High utilization by individual PHP, Node.js, or database processes;
- Timeout errors despite sufficient RAM headroom.
However, high CPU usage does not always mean you need to add cores immediately. The cause may be a resource-intensive plugin, a slow database query, a looping process, or a lack of caching. First, identify which application is generating the load.
If CPU utilization is moderate but services are terminating or the server is actively using swap, the issue is most likely related to RAM.
Symptoms of RAM shortage
A RAM shortage tends to manifest less predictably than a CPU shortage. A server may run normally, then suddenly slow down or restart individual processes as load increases.
Typical symptoms:
- Heavy swap usage;
- Out of Memory errors;
- Termination of PHP, Node.js, MySQL, or PostgreSQL;
- Frequent service restarts;
- Slowdowns after background tasks start;
- Insufficient memory during updates, imports, or backup creation.
A small amount of swap usage is acceptable, but constantly relying on swap noticeably reduces performance. If memory is regularly exhausted, you should optimize processes, limit their number, or switch to a plan with more RAM.
Even with sufficient CPU and memory headroom, latency may persist due to data storage. This is especially common on sites with a heavily used database.
When the Disk Becomes the Bottleneck
Disk performance affects more than file transfers. It affects the database, cache, logs, backups, and any read or write operations.
Problems with the disk subsystem may show up as slow SQL queries despite low CPU utilization, delays during product imports, slow archive extraction, and degraded site performance during backups. In the metrics, disk latency, the operation queue, and I/O wait time increase.
The cause may be an HDD, a strict IOPS limit, overloaded shared storage, or insufficient free space. For a dynamic website, moving to NVMe often has a noticeable effect, but first you need to confirm that the application is actually constrained by disk performance rather than inefficient queries.
If the server performs computations and processes data quickly, but the site loads slowly only for part of the audience, you should check the network connection and the hosting location.
How Network Issues Manifest
Network limitations are usually noticeable when transferring images, files, backups, and large API responses. A site may generate a page quickly on the server but take a long time to deliver it to the user.
Common signs include:
- Low file download speeds when CPU and RAM have spare capacity;
- High latency for users in specific regions;
- Connection drops and unstable API performance;
- Slowdowns after exceeding the monthly traffic limit;
- Network bandwidth congestion during peak hours;
- Slow backup transfers to external storage.
To troubleshoot, it is useful to compare server response times from different regions, measure actual throughput, and review the terms of the plan. In some cases, using a closer data center or a CDN resolves the issue, rather than increasing VPS resources.
Therefore, you should upgrade your plan only after diagnosing the issue. CPU, memory, disk, and network metrics help identify which resource has actually become the bottleneck and avoid overpaying for a configuration that will not address the cause of the slowdown.
Common Mistakes When Choosing a VPS

Focusing solely on price
The cheapest VPS is not always the best value. A low price may come with an underpowered CPU, limited IOPS, a slow network connection, unreliable performance, no backups, and paid technical support.
You should compare the total cost of operation: the server itself, backups, additional IP addresses, the control panel, monitoring, and administration. Sometimes a more expensive plan with clear limits and included backups ultimately costs less—after the very first failure.
However, even a good configuration does not guarantee fast website performance if the server is located far from the site’s primary audience.
Ignoring the audience’s region
The farther a user is from the data center, the higher the network latency. This is especially noticeable in online stores, customer portals, APIs, and applications where a single page may make several sequential requests.
The server should ideally be located closer to the primary audience and key external services. If users are distributed across different regions, some static content can be delivered through a CDN.
When choosing a region, you also need to consider data storage requirements, the availability of required services, and network path quality. The geographically closest data center does not always provide the lowest latency, so the location should ideally be validated through testing.
After selecting the configuration and region, the next issue is recovery. It is often postponed until the first major outage.
Overlooking backups
Snapshots or automatic backups are not always included in the cost of a VPS. Users may discover this only after accidentally deleting files, experiencing a database failure, or having the server compromised.
Backups should be stored separately from the primary VPS. It is also important to verify not only that they are being created, but also that they can be restored: how often backups are taken, how long they are retained, and how long it will take to bring the project back online.
For a dynamic website, it is especially important to back up the database and files in a consistent state. A simple archive of the directory may not be enough if the data in the database has already changed.
Even with good backups, the project’s performance will be limited if the main website is hosted on slow storage.
Choosing an HDD for a dynamic website
HDDs are suitable for archives, rarely used files, and low-cost additional storage. For WordPress, an online store, Bitrix, a Node.js application, or a database, it is better to choose an SSD or NVMe.
Dynamic projects constantly read and write many small files, update tables, create logs, and use the cache. On an HDD, these operations are noticeably slower, so a website may respond slowly even with enough CPU and RAM.
Nor does NVMe automatically guarantee maximum speed: the provider may limit IOPS and throughput. However, under comparable conditions, a fast SSD or NVMe remains the more sensible choice for the primary disk of a dynamic website.
Ultimately, a hosting plan should be evaluated as a complete set of terms: price, region, backups, processor, memory, disk, and the ability to upgrade later. Before ordering, it is convenient to check all of this against a short checklist.
Practical checklist before ordering

Before paying for a VPS, you should check not only the CPU, RAM, and disk size, but also the conditions that determine how the project will actually run.
- What type of project will be hosted on the server?
- How many concurrent users are expected?
- Does the database need to run on the same VPS?
- Are there background tasks, queues, imports, or worker processes?
- How much RAM does the application need, including the operating system and cache?
- Is the selected number of vCPUs sufficient for peak load?
- Is SSD or NVMe storage used?
- Are IOPS and read/write speed limits specified?
- What is the network port speed, and is there a traffic limit?
- Where is the data center located relative to the primary audience?
- Are snapshots and automatic backups included in the plan?
- Are backups stored separately from the primary VPS?
- Can CPU, RAM, and disk capacity be increased without migrating the server?
- Is load monitoring available, along with failure notifications?
- What is included in technical support and administration?
For a small website, it is better to start with a moderate configuration while keeping the option to upgrade quickly. For WordPress, an online store, Bitrix, or an application with a database, it is worth choosing NVMe from the start and allowing extra RAM for traffic peaks, updates, and background processes.
After launch, the configuration should be checked against metrics. If the server consistently uses only a small portion of its resources, the plan can be considered suitable. If the CPU regularly hits its limit, RAM runs out, disk latency increases, or the network link becomes overloaded, you should first identify the bottleneck and then scale that specific resource.
Conclusion

When choosing a VPS, you should not consider only the number of cores or the amount of memory. CPU, RAM, disk, network, and server region all work together, and overall performance also depends on the application, database, caching, and the quality of the configuration.
For a landing page or a small website, a minimal configuration is usually sufficient. A WordPress blog is better off starting with 1–2 vCPU and 2–4 GB of RAM, while an online store, Bitrix, or an application with an active database typically requires at least 2–4 vCPU, 4–8 GB of RAM, and fast NVMe storage.
The most expensive plan is not always the best, and the cheapest is not always the most cost-effective. It is important to consider the audience’s region, CPU and disk limits, traffic costs, backups, monitoring, and the ability to increase resources without a complex migration.
The optimal VPS is not a server with “as much headroom as possible,” but a configuration that matches the current load, leaves room for short-term spikes, and can scale as the project grows.
FAQ
How Much RAM Does WordPress Need?
For a small WordPress site, 2 GB of RAM is usually a reasonable starting point. This may be enough for the operating system, web server, PHP, database, and several standard plugins.
For a blog with a resource-intensive theme, a page builder, a large number of plugins, or WooCommerce, it is better to consider 4 GB or more. The exact amount depends not only on WordPress itself, but also on traffic, the number of PHP processes, the database size, and caching settings. WordPress defines requirements for PHP and database versions, but it does not specify a universal amount of RAM for all projects.
Is one vCPU enough for a website?
A single vCPU may be sufficient for a landing page, a small blog, or a test project with moderate traffic, especially if caching is used and the server is not running heavy background tasks.
As traffic grows, or when running an online store, imports, image processing, or multiple applications, a single vCPU is more likely to become a bottleneck. The decision to move to a more powerful plan should be based on CPU metrics and response times, not just the type of website. To do this, the server needs to collect CPU, memory, disk, and network metrics.
Is NVMe always better than SSD?
NVMe typically delivers high performance, but the interface name alone does not guarantee a fast drive. A provider may limit IOPS, throughput, or access to shared storage.
Therefore, you should compare not only the SSD and NVMe labels, but also the available IOPS, throughput, and latency. For a dynamic website, online store, or database, SSD/NVMe is a better fit than HDD because solid-state drives handle random operations more efficiently, while HDDs are better optimized for large sequential operations.
How important is the server region?
The region affects network latency between the server and the user. The longer the route and the more intermediate network hops, the longer requests may take to complete, especially if the page sequentially calls the backend, the database, and external services.
The primary server should ideally be hosted closer to the audience and key integrations, but the choice should be validated with measurements. The geographically closest data center does not always provide the best route. When selecting a region, you should also consider cost, service availability, and data residency requirements.
When is it time to switch to a more powerful plan?
An upgrade is justified when metrics confirm a shortage of a specific resource. For example, the CPU remains close to its limit for extended periods, RAM is exhausted and the system actively uses swap, disk latency increases, or the network connection is regularly saturated.
One-off spikes do not necessarily require moving to a higher plan. First, rule out inefficient SQL queries, heavy plugins, application errors, missing caching, and poor configuration. After that, you can scale the specific resource that is limiting the project’s performance. System metrics for CPU, memory, disk, and network help distinguish a genuine lack of capacity from a software issue.
Sources
1. WordPress.org — Requirements
2. Amazon Web Services — Amazon EBS volume types
3. Amazon Web Services — Collect metrics, logs and traces using the CloudWatch agent
4. Google Cloud — Best practices for Compute Engine region selection
