Disk types and SLA
The "Disk" concept on the MCS platform is analogous to a physical storage medium such as an HDD or SSD.
A disk is a network block device that provides data storage for instances. All disks on the MCS Platform are networked and reliably protected by data replication, ensuring storage reliability and fault tolerance.
Benefits of network drives:
Flexibility : Disks are independent resources, so they can be moved between instances in the same datacenter, and you can expand the size of the disk without shutting down the instance to which it is connected.
Simplicity : Disks function as general purpose block devices, so you can think of attached drives as locally attached drives. This allows you to partition, format, and manage disks using familiar tools and techniques.
Application : the disk is an independent element of the project and can exist separately from the instance. This is useful when you need to resize the disk regardless of the virtual machine configuration.
Fault Tolerance : Disks provide reliable data storage and allow continuous read and write operations even if multiple physical disks fail
Disc types
Network drives differ by type and location:
Accommodation | A type | Description |
ms1 | HDD | Basic disk located in the DataLine NORD4 data center |
dp1 | HDD | Basic disk located in DataPro datacenter |
ceph | HDD | Basic disk whose data is replicated between available data centers |
ssd | SSD | Standard disk whose data is replicated between available datacenters |
dp1-ssd | SSD | Standard disk located in DataPro data center |
ko1-ssd | SSD | Standard disk located in the DataLine NORD4 data center |
dp1-high-iops | High-IOPS SSD | Fast disk located in DataPro data center |
ko1-high-iops | High-IOPS SSD | Fast disk located in the DataLine NORD4 data center |
low-latency | NVME | Super fast disk with minimal latency (up to 0.5ms), available only on high-frequency VM configurations upon request to technical support . |
SLA
For each type of disk, there is a performance limit that is required to guarantee the stability of the disk regardless of its type or size.
HDD
Size in GB | Block size | Reading | Block size | Recording | ||
IOPS | MB / s | IOPS | MB / s | |||
ten | 4K | 300 | 1 | 4K | 150 | 1 |
64K | nine | 64K | five | |||
1M | 38 | 1M | 19 | |||
50 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | nine | 64K | five | |||
1M | 38 | 1M | 19 | |||
100 | 4K | 300 | 1 | 4K | 150 | 1 |
64K | nine | 64K | five | |||
1M | 38 | 1M | 19 | |||
250 | 4K | 300 | 1 | 4K | 250 | 1 |
64K | nine | 64K | 8 | |||
1M | 38 | 1M | 31 | |||
500 | 4K | 500 | 2 | 4K | 500 | 2 |
64K | sixteen | 64K | sixteen | |||
1M | 63 | 1M | 63 | |||
1000 | 4K | 1000 | 4 | 4K | 800 | 3 |
64K | 31 | 64K | 25 | |||
1M | 125 | 1M | 100 | |||
1500 | 4K | 1500 | 6 | 4K | 800 | 3 |
64K | 47 | 64K | 25 | |||
1M | 188 | 1M | 100 | |||
2000 | 4K | 2000 | 8 | 4K | 800 | 3 |
64K | 63 | 64K | 25 | |||
1M | 250 | 1M | 100 |
SSD
Size in GB | Block size | Reading | Block size | Recording | ||
IOPS | MB / s | IOPS | MB / s | |||
ten | 4K | 1000 | 4 | 4K | 500 | 2 |
64K | 31 | 64K | sixteen | |||
1M | 125 | 1M | 63 | |||
50 | 4K | 1500 | 6 | 4K | 750 | 3 |
64K | 47 | 64K | 23 | |||
1M | 188 | 1M | 94 | |||
100 | 4K | 3000 | 12 | 4K | 1500 | 6 |
64K | 94 | 64K | 47 | |||
1M | 375 | 1M | 188 | |||
250 | 4K | 7500 | 29 | 4K | 3750 | fifteen |
64K | 234 | 64K | 117 | |||
1M | 400 | 1M | 400 | |||
500 | 4K | 15000 | 59 | 4K | 7500 | 29 |
64K | 400 | 64K | 234 | |||
1M | 400 | 1M | 400 | |||
1000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
1500 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
2000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 |
High-IOPS SSD
Size in GB | Block size | Reading | Block size | Recording | ||
IOPS | MB / s | IOPS | MB / s | |||
ten | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
50 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
100 | 4K | 10000 | 39 | 4K | 5000 | 20 |
64K | 313 | 64K | 156 | |||
1M | 500 | 1M | 500 | |||
250 | 4K | 10000 | 39 | 4K | 6250 | 24 |
64K | 313 | 64K | 195 | |||
1M | 500 | 1M | 500 | |||
500 | 4K | 15000 | 59 | 4K | 12500 | 49 |
64K | 469 | 64K | 391 | |||
1M | 500 | 1M | 500 | |||
1000 | 4K | 30,000 | 117 | 4K | 25000 | 98 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 | |||
1500 | 4K | 45000 | 176 | 4K | 30,000 | 117 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 | |||
2000 | 4K | 45000 | 176 | 4K | 30,000 | 117 |
64K | 500 | 64K | 500 | |||
1M | 500 | 1M | 500 |
Low latency
Size in GB | Block size | Reading | Block size | Recording | ||
IOPS | MB / s | IOPS | MB / s | |||
ten | 4K | 1000 | 4 | 4K | 500 | 2 |
64K | 31 | 64K | sixteen | |||
1M | 125 | 1M | 63 | |||
50 | 4K | 1500 | 6 | 4K | 750 | 3 |
64K | 47 | 64K | 23 | |||
1M | 188 | 1M | 94 | |||
100 | 4K | 3000 | 12 | 4K | 1500 | 6 |
64K | 94 | 64K | 47 | |||
1M | 375 | 1M | 188 | |||
250 | 4K | 7500 | 29 | 4K | 3750 | fifteen |
64K | 234 | 64K | 117 | |||
1M | 400 | 1M | 400 | |||
500 | 4K | 15000 | 59 | 4K | 7500 | 29 |
64K | 400 | 64K | 234 | |||
1M | 400 | 1M | 400 | |||
1000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
1500 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 | |||
2000 | 4K | 16000 | 63 | 4K | 8000 | 31 |
64K | 400 | 64K | 250 | |||
1M | 400 | 1M | 400 |
How to test
For Windows
You can use DiskSPD or Fio software to measure read / write IOPS.
DiskSPD
DiskPSD is an official testing tool recommended by Microsoft and included in the developer repositories . The following steps are required to complete testing:
- Download the utility from the official resource and unpack it to a convenient place: https://github.com/microsoft/diskspd/releases/latest
- Run command line as administrator and go to the directory with the unpacked utility DiskSpd-2.0.21a \ amd64 \
- Pre-create an empty file with a size of at least 10GB:
fsutil file createnew C: \ temp \ test.bin 10485760000
- To execute tests, you must use the command corresponding to the test type:
- Random Write Test:
diskspd -Suw -b4K -o1 -t32 -r -w100 C: \ temp \ test.bin> C: \ temp \ random_write_results.txt
- Random read test:
diskspd -Suw -b4K -o1 -t32 -r -w0 C: \ temp \ test.bin> C: \ temp \ random_read_results.txt
Fio
IOPS measurements using fio are performed using the rate_iops parameter. Tests are performed with values:
- --rw (randread or randwrite)
- --filename (name of the device under test)
- --iodepth (8, 16, 32 or 64)
Download and install Fio from the official resource: https://bsdio.com/fio/
Command to run the test:
fio --name = randwrite --iodepth = 32 --rw = randwrite --bs = 4k --direct = 1 --size = 10G --numjobs = 1 --runtime = 240 --group_reporting --filename = C: \ Users \ ADMIN \ test
For Linux
The read / write IOPS measurements are performed by the fio software and the rate_iops parameter. Tests are performed with values:
- --rw (randread or randwrite)
- --filename (name of the device under test)
- --iodepth (8, 16, 32 or 64)
Installing Fio:
sudo apt install fio
Command to run the test:
fio --name = randwrite --ioengine = libaio --iodepth = 32 --rw = randwrite --bs = 4k --direct = 1 --size = 512M --numjobs = 1 --runtime = 240 --group_reporting - -filename = / home / user / test
Measurement results:
- read: IOPS
- write: IOPS
Types of testing performed | Test result (Number of IOPS) |
Read / Write in 4 KB blocks in 32 threads | According to SLA values |
Read / Write in 8 KB blocks in 32 threads | at least 75% of the SLA |
Read / Write 16KB in 32 Streams | at least 50% of the SLA |