Choosing between shared or dedicated vCPUs
When deploying a Scaleway Instance, selecting the appropriate CPU provisioning is key for optimizing performance and cost.
All Instances are deployed on large, powerful physical servers powered by the latest datacenter-grade CPUs. A hypervisor splits the large physical machine into smaller virtual units on these machines. The hypervisor manages the allocation and scheduling of physical resources such as CPU or RAM. While RAM is always allocated dedicated per Instance, two types of CPU provisioning are available: shared and dedicated vCPUs.
Understanding the difference between these two techniques is key to making an informed decision about the best Instance for your application.
Link to this anchor
Feature | Shared vCPU | Dedicated vCPU |
---|---|---|
Performance consistency | Variable – depends on other workloads on the host | High – consistent and predictable performance |
Cost | Lower | Higher |
Use case | General workloads, low-traffic apps | Production apps, high-performance workloads |
CPU access | Split with other Instances | Exclusive access to physical cores |
Best for | Personal blogs or forums, staging environments | CI/CD, eCommerce, gaming, ML workloads |
Resource contention risk | Possible during peak usage | None |
Latency sensitivity | Not suitable for latency-sensitive apps | Ideal for latency-critical applications |
Link to this anchor
Shared vCPU Instances, including Learning and Cost-Optimized, are cost-effective virtual machines in which CPU resources are shared among multiple Instances. This means multiple virtual CPU cores are allocated to these Instances, but the physical CPU cores available on the hypervisors’ hardware are shared among them. As a result, Instances share physical CPU time, and during peak demand from other Instances on the same host, your workloads might temporarily slow down due to CPU contention (also known as “CPU steal”). While physical CPU threads are shared between Instances, vCPUs are dedicated to each Instance, and no data can be shared or accessed between Instances through this setup.
Typical use casesLink to this anchor
- Development and staging environments
- Small and non critical production environments
- Low to medium-traffic websites
- Personal blogs and forums
- Applications tolerant to occasional performance variability
- Worker nodes in container orchestration clusters such as Kubernetes
- Experimental or proof-of-concept projects
- Small-scale applications with limited traffic
SummaryLink to this anchor
- Shared vCPU Instances provide an affordable solution for non-critical workloads.
- CPU performance is less predictable and may fluctuate depending on neighboring workloads (“noisy neighbors”).
- During peak usage, your workloads might experience temporary slowdowns due to CPU steal.
Dedicated vCPU InstancesLink to this anchor
Dedicated vCPU Instances, including Production-Optimized and Workload-Optimized, provide exclusive access to physical CPU cores. This ensures consistent and predictable performance at all times. Dedicated vCPU Instances are perfect for applications that require high CPU utilization and low latency.
Typical use casesLink to this anchor
- Production applications with high CPU demands
- eCommerce platforms and business-critical services
- Game servers requiring low latency
- CI/CD pipelines
- Audio and video transcoding
- Machine learning and scientific computing
- Real-time data processing and analytics
- High-traffic websites and applications
SummaryLink to this anchor
- Dedicated vCPU allocation ensures consistent and predictable performance.
- No risk of performance degradation due to neighboring workloads.
- Dedicated vCPU Instances are more expensive than shared vCPU Instances but offer guaranteed CPU performance.
Choosing the best configurationLink to this anchor
Choose shared vCPU Instances if:
- You are running non-critical or experimental workloads
- Budget is a priority over performance consistency
Choose dedicated vCPU Instances if:
- Your application requires stable, predictable CPU performance
- You are in a production environment with strict performance requirements
Consider your needs and workload requirements to choose the best vCPU provisioning option for your Scaleway Instance.
For more details about available instance types, refer to Choosing the best Scaleway Instance type for your workload.