Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions menu/navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -1650,6 +1650,10 @@
"label": "Choosing an Instance type",
"slug": "choosing-instance-type"
},
{
"label": "Choosing bewteen shared or dedicated CPUs",
"slug": "choosing-shared-vs-dedicated-cpus"
},
{
"label": "Instances datasheet",
"slug": "instances-datasheet"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ categories:
- compute
dates:
validation: 2025-02-17
posted: 2023-02-20
tags: instance, type, stardust, range, vcpu, hyperthread, core, ram, bandwidth, dedicated, shared, memory, hypervisor, vm, storage, dev1, play2, gp1, pro2, ent1, gpu, arm, learning, development, production, production-optimized, cost-optimized, memory-optimized, storage-optimized
---

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
meta:
title: Choosing between shared or dedicated vCPUs
description: Find out how to choose between shared or dedicated vCPUs depending on your workloads.
content:
h1: Choosing between shared or dedicated vCPUs
paragraph: Find out how to choose between shared or dedicated vCPUs depending on your workloads.
categories:
- compute
dates:
validation: 2025-04-18
posted: 2025-04-18
tags: instance, cpu, vcpu, shared, dedicated
---

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.

## Comparison of shared and dedicated vCPU Instances

| 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 |

## Shared vCPU Instances
Shared vCPU Instances, including [Learning](/instances/reference-content/learning/) and [Cost-Optimized](/instances/reference-content/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 cases
- 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

### Summary
- 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 Instances
Dedicated vCPU Instances, including [Production-Optimized](/instances/reference-content/production-optimized/) and [Workload-Optimized](/instances/reference-content/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 cases
- 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

### Summary
- 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 configuration

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](/instances/reference-content/choosing-instance-type/).