VM Sizing guide
This vm sizing guide is based on my experience. It’s a prerequisite before using the Azure-Calculator.
This guide give hints on how to choose the best vm size for your workload.
This is mostly a list of concept and document that you should use. Once you know them it’s pretty easy to reuse it.
Impact of choosing the wrong size:
- over size your vm is over spending
- low size will lead to bad performance and potentially extra work to resize the vm.
VM Sizing convention
Sizing your VM is crucial to avoid over spending. Before using the Azure calculator first you should understand the naming convention used by Azure.
Standard_E4ds_v4 means nothing to you then read on.
One or more lower case letters denote additive features, such as:
- a = AMD-based processor
- d = disk (local temp disk is present); this is for newer Azure VMs, see Ddv4 and Ddsv4-series: temp disk is not persisted if the vm restart
- h = hibernation capable
- i = isolated size: isolated machine by hardware are dedicated to a single customer this is used with huge server: isolated
- l = low memory; a lower amount of memory than the memory intensive size
- m = memory intensive; the most amount of memory in a particular size: that’s the biggest memory available for this server type, if you need more, upgrade to a bigger server type
- t = tiny memory; the smallest amount of memory in a particular size
- r = RDMA capable: used for massively parallel computing see RDMA-capable
- s = Premium Storage capable, including possible use of Ultra SSD (Note: some newer sizes without the attribute of s can still support Premium Storage e.g. M128, M64, etc.)
Understand the right type
Go to vm-size and read and understand all series.
Take a specific attention on the summary at the top of each page. By example here is the one for the Compute-Fseries
- ACU: 195 - 210 This is the Microsoft benchmark to compare CPU, since there is various one. It give you hints.
- Premium Storage: Supported SSD support
- Premium Storage caching: Supported Read Only Cache
- Live Migration: Supported this will allow you to change server type in this series without reboot
- Memory Preserving Updates: Supported VM is paused during the update, no reboot is needed. Otherwise a notification email is sent to you.
- VM Generation Support: Generation 1 and 2
- Accelerated Networking: Supported (Requires a minimum of 4 vCPU)
- Ephemeral OS Disks: Supported useful for stateless workloads
VCPU vs CPU
When you’ll walk through the sizes, you’ll see notice that some have VCPU and other CPU. One is virtual the second is not. You can get more detail about it here vm-acu
This list provide for each vm the number of vcpu per core available and cpu specificities.
You have to go through this list to chose the best cpu matching your workload, and also some of your need might guide you to one or an other server type.
- *ACUs use Intel® Turbo technology to increase CPU frequency and provide a performance increase. The amount of the performance increase can vary based on the VM size, workload, and other workloads running on the same host.
- **ACUs use AMD® Boost technology to increase CPU frequency and provide a performance increase. The amount of the performance increase can vary based on the VM size, workload, and other workloads running on the same host.
- ***Hyper-threaded and capable of running nested virtualization
- **AMD Simultaneous multithreading technology
Some size will better match your needs.
Vendor specific recommendation
In some case, to help you do the right sizing your software vendor may provide you with advice. By example Couchbase recommends you to use “DS v3, ES v3, FS and GS machines” and more than 4 cpu. couchbase-azure-best-practices
B Series servers are burstable , in short when the server is not use it accumulate credits that can be spend in a higher cpu freq at peak load.
This is a recommended series to use for AKS preproduction AKS-BSeries
There is a downside: small cpu and a low number of disk that can be attached
Ephemerl OS Disk are supported only on VM sizes that supports Premium storage such as DSv1, DSv2, DSv3, Esv3, Fs, FsV2, GS, M
”“Important When a user does not explicitly request managed disks for the OS, AKS will default to ephemeral OS if possible for a given nodepool configuration.””
“Ephemeral OS disks are free, you incur no storage cost for OS disk.” Ephemeral-os-disks
How to choose the right server versus it’s pricing
There is different tool available which compare servers cost, I use azureprice.net to filter by needs and cost
That’s it, you are now read to use the Azure-Calculator