How to choose cloud server specs: CPU, RAM and storage

Check CPU, memory, storage and network requirements, compare VPS and dedicated servers, and separate introductory, renewal and optional charges.

Start with the application, then read the specification sheet. There is no universal order of priority for CPU, RAM and storage: databases, file storage and compute jobs place different demands on a server. A website count or user count alone cannot tell you how many cores or how much memory you need.

Separate the four resources

A central server is separately associated with a CPU, RAM, storage drive and network interface. There is no fixed processing sequence.

Upper left · CPU

Runs calculations. Check processor model, allocation and whether the application can use multiple cores.

Upper right · RAM

Holds the running OS, applications, database and cache.

Lower left · Storage

Keeps data. Check capacity separately from read/write performance.

Lower right · Network

Connects users and services. Check routes, bandwidth and transfer terms.

Simplified resource illustration, not a hardware topology. Lines show associations, not a processing sequence. The network carries requests and responses; more bandwidth cannot replace compute resources.

Separate the four resources
SpecWhat else to check
CPU countProcessor model, resource allocation and application use of multiple cores.
RAM capacityApplication use, concurrent jobs, peaks and headroom.
Storage capacityData growth, I/O workload and product limits.
BandwidthRoutes, transfer accounting and how the service will be used.

CPU: look beyond core count

Equal core counts do not imply equal processing power. Check the processor model and generation, then ask how the plan allocates vCPUs. A vCPU is a processor resource presented to a virtual machine; it does not by itself guarantee an exclusive physical core. Definitions and allocation policies vary by platform.[1]

The application must also be able to use parallel processing. One busy thread can leave aggregate CPU usage looking low on a multicore system. Inspect processes and threads before ruling out a CPU constraint or ordering more cores.[2]

Memory: check availability and operating records

Account for the OS, application, database, cache and concurrent jobs. Allow for peaks and growth based on the workload rather than a fixed headroom percentage.

High used memory alone does not establish a shortage: the OS can use spare RAM for cache. Check available memory, swap activity, application errors and out-of-memory (OOM) logs. Linux MemAvailable estimates memory available to new applications without swapping; it is not simply the free-memory figure.[3]

Storage: capacity and I/O are different

Capacity describes how much data fits. Throughput describes data transferred per unit of time. IOPS means input/output operations per second and must be considered alongside operation size and latency. Small random database reads and large sequential file transfers are different workloads.[4]

Plan separately for current data, growth, logs and backups. Another copy on the same disk is not a substitute for an independent backup arrangement. An SSD or NVMe label does not guarantee application speed; check the product’s I/O limits and the workload as well.

Choose a starting point

New project

  1. 01Read software requirements
  2. 02Choose an initial specification
  3. 03Run bounded validation
  4. 04Adjust from observations

Minimum software requirements are a starting condition, not a production sizing recommendation. Validate with representative tasks and record resource use and response times.

Existing workload

  1. 01Collect operating records
  2. 02Identify constraints
  3. 03Compare candidate specifications
  4. 04Validate the migration plan

Keep peak-period resource records and application observations. Before migration, check backups, compatibility and downtime arrangements.

For a new project, list software and versions, read the official requirements, and validate within permitted trial or testing conditions. For an existing workload, record CPU, RAM, disk, network, concurrent jobs and response times during normal and peak periods; one quiet-period screenshot is not representative. Confirm which resources can be upgraded and whether changes require migration or downtime. Do not assume every configuration can be expanded without interruption or data risk.

Testing a route before purchase →

VPS or dedicated: compare the boundaries

Virtual resources or a whole host?

AI concept illustration
Concept cutaway: virtual resource partitions in a physical host on the left, a whole dedicated server on the right.
Left · VPS
Virtual resources allocated on a physical host. The divisions are logical, not physical walls.
Right · Dedicated
A whole physical host for your use. Performance still depends on its hardware and configuration.

Concept hardware, not a listed model. Green marks resource scope, not performance.

A VPS allocates physical host resources to virtual instances. Compare the starting cost and adjustment options, then check the specific isolation, CPU allocation and upgrade terms.

A dedicated server is assessed as a whole hardware system. Consider it when you need specific hardware, whole-machine resources or a particular isolation boundary. Include cost, administration responsibilities and expansion options. Exclusive hardware does not automatically make every application faster, and a VPS is not inherently inadequate.

Separate introductory, renewal and optional charges

List the base plan, route, bandwidth, IP and storage options, then check the checkout total. Record the introductory price separately from the renewal amount and billing cycle; the first-month offer is not a long-term cost estimate.

Check how post-delivery operations work

Confirm supported operating systems, upgrade conditions and backups. Base services do not include OS reinstallation, software configuration or managed operations; check any services expressly agreed in an existing order. Back up important data before changes. A support ticket is neither authorization for a destructive operation nor proof of execution.

What to check when something is slow

These are illustrative situations, not customer cases or diagnoses of a particular incident.

Observation

Pages are slow, but aggregate CPU usage is low

Next check

Inspect individual threads and processes, database timings, disk waits and network connections to find where the time is spent.

Observation

The application keeps restarting

Next check

Read application and system logs. Check for out-of-memory events rather than assuming memory is responsible; software errors, configuration or other causes may be involved.

Observation

There is free disk space, but I/O is slow

Next check

Record access patterns, latency and concurrent load, then check the product’s I/O limits.

What to send with a sizing enquiry

  • Application and version; new project or existing workload.
  • Audience locations, current data volume and expected growth.
  • Available resource records, peak periods and symptoms.
  • Budget and any hardware, OS or managed-service requirements.

Mark unknown items as “to be confirmed”. Share only the configuration and usage information needed for the enquiry, not passwords, keys or customer data.

Send sizing requirements →

References

  1. AWS EC2 — CPU options and vCPU definitions
  2. Microsoft — CPU analysis
  3. Linux kernel — /proc/meminfo and MemAvailable
  4. AWS EBS — I/O characteristics and monitoring
How to choose cloud server specs: CPU, RAM and storage - Fast-BGP