Performance de I/O de Disco dos principais players Cloud – I/O Benchmark

Performance de disco é uma questão que precisamos levar muito a sério quando vamos utilizar um servidor Cloud.
Neste post fiz uma medição de desempenho de I/O de disco dos principais players Cloud.
Vou fazer mais testes futuramente nas mesmas VMs para ver se o IOPS muda.
Utilizei o script criado pelo Benjamin Schweizer (seu blog) para os testes. Ele está disponível em: https://github.com/cxcv/iops

AMAZON EC2 – m3-large (2 cpu 8gb ram)
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50GHz
stepping : 4
microcode : 0x415
cpu MHz : 2500.072
cache size : 25600 KB
physical id : 1
siblings : 2
core id : 1
cpu cores : 1
apicid : 35
initial apicid : 35
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu de tsc msr pae cx8 apic sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt tsc_deadline_timer aes rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase erms
bogomips : 5000.14
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

root@ip-172-31-19-77:~# ./iops.py –num_threads 1 –time 2 /dev/xvda1
/dev/xvda1, 17.18 GB, 32 threads:
512 B blocks: 3230.2 IO/s, 1.6 MiB/s ( 13.2 Mbit/s)
1 KiB blocks: 2737.1 IO/s, 2.7 MiB/s ( 22.4 Mbit/s)
2 KiB blocks: 2242.0 IO/s, 4.4 MiB/s ( 36.7 Mbit/s)
4 KiB blocks: 1646.5 IO/s, 6.4 MiB/s ( 54.0 Mbit/s)
8 KiB blocks: 1658.1 IO/s, 13.0 MiB/s (108.7 Mbit/s)
16 KiB blocks: 1642.6 IO/s, 25.7 MiB/s (215.3 Mbit/s)
32 KiB blocks: 1308.4 IO/s, 40.9 MiB/s (343.0 Mbit/s)
64 KiB blocks: 823.7 IO/s, 51.5 MiB/s (431.9 Mbit/s)
128 KiB blocks: 482.7 IO/s, 60.3 MiB/s (506.2 Mbit/s)
256 KiB blocks: 171.3 IO/s, 42.8 MiB/s (359.2 Mbit/s)
512 KiB blocks: 101.4 IO/s, 50.7 MiB/s (425.4 Mbit/s)
1 MiB blocks: 59.9 IO/s, 59.9 MiB/s (502.6 Mbit/s)
2 MiB blocks: 33.9 IO/s, 67.8 MiB/s (568.9 Mbit/s)
4 MiB blocks: 18.6 IO/s, 74.4 MiB/s (624.1 Mbit/s)
./iops.py –num_threads 1 –time 2 /dev/xvda1

/dev/xvda1, 17.18 GB, 32 threads:
512 B blocks: 3623.6 IO/s, 1.8 MiB/s ( 14.8 Mbit/s)
1 KiB blocks: 3060.9 IO/s, 3.0 MiB/s ( 25.1 Mbit/s)
2 KiB blocks: 2508.2 IO/s, 4.9 MiB/s ( 41.1 Mbit/s)
4 KiB blocks: 1845.6 IO/s, 7.2 MiB/s ( 60.5 Mbit/s)
8 KiB blocks: 1791.1 IO/s, 14.0 MiB/s (117.4 Mbit/s)
16 KiB blocks: 1681.0 IO/s, 26.3 MiB/s (220.3 Mbit/s)
32 KiB blocks: 1301.5 IO/s, 40.7 MiB/s (341.2 Mbit/s)
64 KiB blocks: 835.7 IO/s, 52.2 MiB/s (438.1 Mbit/s)
128 KiB blocks: 532.5 IO/s, 66.6 MiB/s (558.4 Mbit/s)
256 KiB blocks: 251.4 IO/s, 62.8 MiB/s (527.2 Mbit/s)
512 KiB blocks: 124.2 IO/s, 62.1 MiB/s (521.0 Mbit/s)
1 MiB blocks: 71.7 IO/s, 71.7 MiB/s (601.6 Mbit/s)
2 MiB blocks: 38.1 IO/s, 76.2 MiB/s (639.6 Mbit/s)
4 MiB blocks: 18.5 IO/s, 73.9 MiB/s (619.8 Mbit/s)

EMBRATEL – 2cpu 4gb ram
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2690 v2 @ 2.50GHz
stepping : 4
cpu MHz : 2999.998
cache size : 25600 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon nopl nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat xsaveopt fsgsbase smep
bogomips : 5999.99
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

./iops.py –num_threads 1 –time 2 /dev/sda3
/dev/sda3, 51.19 GB, 32 threads:
512 B blocks: 24270.1 IO/s, 11.9 MiB/s ( 99.4 Mbit/s)
1 KiB blocks: 20685.1 IO/s, 20.2 MiB/s (169.5 Mbit/s)
2 KiB blocks: 13093.9 IO/s, 25.6 MiB/s (214.5 Mbit/s)
4 KiB blocks: 7374.2 IO/s, 28.8 MiB/s (241.6 Mbit/s)
8 KiB blocks: 10263.5 IO/s, 80.2 MiB/s (672.6 Mbit/s)
16 KiB blocks: 8291.0 IO/s, 129.5 MiB/s ( 1.1 Gbit/s)
32 KiB blocks: 6641.9 IO/s, 207.6 MiB/s ( 1.7 Gbit/s)
64 KiB blocks: 5540.3 IO/s, 346.3 MiB/s ( 2.9 Gbit/s)
128 KiB blocks: 4377.9 IO/s, 547.2 MiB/s ( 4.6 Gbit/s)
256 KiB blocks: 2661.2 IO/s, 665.3 MiB/s ( 5.6 Gbit/s)
512 KiB blocks: 1536.7 IO/s, 768.4 MiB/s ( 6.4 Gbit/s)
1 MiB blocks: 974.7 IO/s, 974.7 MiB/s ( 8.2 Gbit/s)
2 MiB blocks: 474.5 IO/s, 949.0 MiB/s ( 8.0 Gbit/s)
4 MiB blocks: 247.5 IO/s, 990.1 MiB/s ( 8.3 Gbit/s)
8 MiB blocks: 132.2 IO/s, 1.0 GiB/s ( 8.9 Gbit/s)
16 MiB blocks: 40.2 IO/s, 643.3 MiB/s ( 5.4 Gbit/s)
32 MiB blocks: 21.0 IO/s, 670.6 MiB/s ( 5.6 Gbit/s)
./iops.py –num_threads 1 –time 2 /dev/sda3
/dev/sda3, 51.19 GB, 32 threads:
512 B blocks: 22463.9 IO/s, 11.0 MiB/s ( 92.0 Mbit/s)
1 KiB blocks: 17941.2 IO/s, 17.5 MiB/s (147.0 Mbit/s)
2 KiB blocks: 13622.3 IO/s, 26.6 MiB/s (223.2 Mbit/s)
4 KiB blocks: 10495.1 IO/s, 41.0 MiB/s (343.9 Mbit/s)
8 KiB blocks: 11766.8 IO/s, 91.9 MiB/s (771.1 Mbit/s)
16 KiB blocks: 10438.6 IO/s, 163.1 MiB/s ( 1.4 Gbit/s)
32 KiB blocks: 7330.3 IO/s, 229.1 MiB/s ( 1.9 Gbit/s)
64 KiB blocks: 5081.3 IO/s, 317.6 MiB/s ( 2.7 Gbit/s)
128 KiB blocks: 3860.3 IO/s, 482.5 MiB/s ( 4.0 Gbit/s)
256 KiB blocks: 2384.3 IO/s, 596.1 MiB/s ( 5.0 Gbit/s)
512 KiB blocks: 1649.3 IO/s, 824.6 MiB/s ( 6.9 Gbit/s)
1 MiB blocks: 920.9 IO/s, 920.9 MiB/s ( 7.7 Gbit/s)
2 MiB blocks: 463.0 IO/s, 926.1 MiB/s ( 7.8 Gbit/s)
4 MiB blocks: 237.7 IO/s, 950.8 MiB/s ( 8.0 Gbit/s)
8 MiB blocks: 102.5 IO/s, 820.2 MiB/s ( 6.9 Gbit/s)
16 MiB blocks: 39.6 IO/s, 634.0 MiB/s ( 5.3 Gbit/s)
32 MiB blocks: 19.9 IO/s, 635.9 MiB/s ( 5.3 Gbit/s)

CLOUD MAXIMAHOST – 5cpu 9 ram
processor : 4
vendor_id : GenuineIntel
cpu family : 6
model : 62
model name : Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz
stepping : 4
microcode : 0x427
cpu MHz : 2200.000
cache size : 25600 KB
physical id : 0
siblings : 5
core id : 4
cpu cores : 5
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat pln pts dtherm fsgsbase smep
bogomips : 4400.00
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:

./iops.py –num_threads 1 –time 2 /dev/sda2
/dev/sda2, 52.69 GB, 32 threads:
512 B blocks: 42113.2 IO/s, 20.6 MiB/s (172.5 Mbit/s)
1 KiB blocks: 41664.5 IO/s, 40.7 MiB/s (341.3 Mbit/s)
2 KiB blocks: 38196.0 IO/s, 74.6 MiB/s (625.8 Mbit/s)
4 KiB blocks: 30933.8 IO/s, 120.8 MiB/s ( 1.0 Gbit/s)
8 KiB blocks: 33389.0 IO/s, 260.9 MiB/s ( 2.2 Gbit/s)
16 KiB blocks: 20186.6 IO/s, 315.4 MiB/s ( 2.6 Gbit/s)
32 KiB blocks: 13069.4 IO/s, 408.4 MiB/s ( 3.4 Gbit/s)
64 KiB blocks: 4553.8 IO/s, 284.6 MiB/s ( 2.4 Gbit/s)
128 KiB blocks: 4470.3 IO/s, 558.8 MiB/s ( 4.7 Gbit/s)
256 KiB blocks: 3671.7 IO/s, 917.9 MiB/s ( 7.7 Gbit/s)
512 KiB blocks: 2534.5 IO/s, 1.2 GiB/s ( 10.6 Gbit/s)
1 MiB blocks: 250.2 IO/s, 250.2 MiB/s ( 2.1 Gbit/s)
2 MiB blocks: 120.8 IO/s, 241.6 MiB/s ( 2.0 Gbit/s)
4 MiB blocks: 82.6 IO/s, 330.6 MiB/s ( 2.8 Gbit/s)
8 MiB blocks: 49.2 IO/s, 393.5 MiB/s ( 3.3 Gbit/s)
16 MiB blocks: 20.8 IO/s, 333.4 MiB/s ( 2.8 Gbit/s)

root@maximahost:~# ./iops.py –num_threads 1 –time 2 /dev/sda2
/dev/sda2, 52.69 GB, 32 threads:
512 B blocks: 39632.8 IO/s, 19.4 MiB/s (162.3 Mbit/s)
1 KiB blocks: 28027.8 IO/s, 27.4 MiB/s (229.6 Mbit/s)
2 KiB blocks: 32714.4 IO/s, 63.9 MiB/s (536.0 Mbit/s)
4 KiB blocks: 31276.5 IO/s, 122.2 MiB/s ( 1.0 Gbit/s)
8 KiB blocks: 34738.3 IO/s, 271.4 MiB/s ( 2.3 Gbit/s)
16 KiB blocks: 29109.0 IO/s, 454.8 MiB/s ( 3.8 Gbit/s)
32 KiB blocks: 18191.9 IO/s, 568.5 MiB/s ( 4.8 Gbit/s)
64 KiB blocks: 13598.4 IO/s, 849.9 MiB/s ( 7.1 Gbit/s)
128 KiB blocks: 7042.1 IO/s, 880.3 MiB/s ( 7.4 Gbit/s)
256 KiB blocks: 3742.2 IO/s, 935.5 MiB/s ( 7.8 Gbit/s)
512 KiB blocks: 2671.9 IO/s, 1.3 GiB/s ( 11.2 Gbit/s)
1 MiB blocks: 180.7 IO/s, 180.7 MiB/s ( 1.5 Gbit/s)
2 MiB blocks: 115.0 IO/s, 230.1 MiB/s ( 1.9 Gbit/s)
4 MiB blocks: 72.8 IO/s, 291.2 MiB/s ( 2.4 Gbit/s)
8 MiB blocks: 45.1 IO/s, 360.8 MiB/s ( 3.0 Gbit/s)
16 MiB blocks: 24.3 IO/s, 388.2 MiB/s ( 3.3 Gbit/s)