比较6种云平台(Selectel,MCS,I。Cloud,Google Cloud,AWS和Azure)的虚拟机性能

刚才,我从一个与云相关的公司博客中碰到了两篇文章-一篇关于Kubernetes的文章,另一篇是尝试使用一种对我来说似乎可疑的技术来衡量性能(并非毫无理由地认为它是一个破坏者)。

关于K8,我也有话要说,但让我们来谈谈性能。

对结果的不信任是由许多因素引起的,但对我而言主要是以下原因:没有用于运行测试的参数,没有宣布迭代次数,没有宣布如何选择机器以及也没有详细的配置。 总的来说,这是值得怀疑的。
总的来说,我主要使用Google Cloud和AWS(总共有十多年的经验),并且我并不特别与国内云提供商合作,但是,碰巧的是,我在Selectel,MCS,I拥有活跃帐户。经过测试后,也可以在Azure中使用云。

幸运的是,所有这些平台都是公开的,而且,按照我的衡量,每个人都可以去,重复并检查是否愿意。

所有这些的结果就是一个想法-为什么不花几百卢布,整个周末又不考虑周全地不测量所有六个平台,找出哪个在成本和绝对数量上以相同的配置提供最佳的性能,同时将全球供应商与俄语。
而且,事实证明,这是为了澄清资源分配中的某些“功能”,并提醒自己和其他人,它并非总是如此,并非在所有平台上都能以相同的钱获得可预期的性能。

结果并不是说惊人,而是在我看来非常好奇。

对于那些感兴趣的人,我要猫。

方法论


虚拟机


每个云提供商按顺序在不同的访问区域中运行(如果有两个区域,则第一个区域中有1台计算机,第二个区域中有2台计算机),三个具有4个CPU,8 GB RAM和50 GB系统磁盘的虚拟机。

如果有选择,处理器/实例类型是最新的。

VM类型-与完整的内核分配共享。

磁盘类型-可以重新安装到另一个VM的网络SSD。

如果标准使用条款未提供保证的IOPS分配选项或为此目的而优化的计算机,则不会使用,并且您不能拒绝。

默认文件系统是ext4。

没有进行手动系统设置。

在每台机器上启动了一系列测试;对每台机器的总值进行了平均。

平台的总体性能表示为每个虚拟机的平均测试值的算术平均值,但对于那些感兴趣的用户,标准偏差也在表中。

操作系统-Ubuntu 16.04是最后一个可用的补丁程序级别。

成本计算


费用计算是根据虚拟机在整个日历月内不停机的运行情况进行计算,而没有考虑提供商的任何应计提成,也未考虑流量成本。

此外,某些平台还允许您通过某些限制(您可以熟练地生存)来显着降低资源成本。

对于AWS,这些是竞价型实例;对于GCE,这些是可抢占型实例。 有了合适的应用程序体系结构,就可以成功使用它们而不会对其造成损害,但是受益于钱包,我本人以及使用这两种方法的数十家公司都对其进行了测试。
Selectel中的磁盘类型可以归为同一类别。 尽管“快速”型磁盘参与了主要测量,但“通用型”磁盘仍然便宜得多,虽然速度不算出色,但可以执行大量任务。 在最终计算中还考虑了使用它的选项。

测验


为了运行测试,编写了此脚本,从中可以看到所有启动参数:

测试脚本
#!/usr/bin/env bash TIME=60 # Workload 70% read 30% write cat > fio-rand.fio << EOL [global] name=fio-rand-RW filename=fio-rand-RW rw=randrw rwmixread=70 rwmixwrite=30 bs=4K direct=1 numjobs=1 time_based=1 runtime=${TIME} [file1] size=2G iodepth=16 EOL echo "Run FIO" for i in {1..3}; do echo "$i iter:" fio fio-rand.fio |grep -E "(read|write|bw|iops|READ|WRITE)" |grep -v "Disk" done echo "Run stress-ng." for i in {1,2,4}; do for z in {1..3}; do echo -n "$z iter. Stress-NG for $i CPU: " stress-ng --cpu $i --cpu-method matrixprod --metrics-brief -t $TIME 2>&1 |sed -n '6p'| awk '{print $5}' done done for i in {1,2,4}; do for z in {1..3}; do echo -n "$z iter. Sysbench CPU for $i thread(s): " sysbench --num-threads=$i --max-time=$TIME --test=cpu run 2>&1|grep "total time:"|awk '{print $3}' done done for i in {1,2,4}; do for z in {1..3}; do echo -n "$z iter. Sysbench Memory for $i thread(s): " sysbench --num-threads=$i --max-time=$TIME --test=memory run 2>&1| grep "Operations performed:" done done 


对于除Sysbench CPU以外的所有测试,更好的选择是。

所有发射的结果都收集在Excel电子表格中,以进行进一步的计算。
好吧,我做到了-我告诉过您,现在我需要告诉您发生了什么。

测试中


示例计算机不是测试。


通常将云与常规铁服务器进行比较。 在这方面我没有多大意义,因为云不仅是直接计算能力,而且不是那么直接计算能力,而主要是生态系统,但是尽管如此,我认为许多人仍然会对这种比较感兴趣。 好吧,通常来说,必须比较一些东西。 具有紧密,著名和可以理解的东西。
我没有手持熨斗机,但是有一个非常新的Dell工作站,它也是一台带有知名处理器(E5-4650L @ 2.60GHz)的家用服务器,这不是最快的DDR3 EEC内存的数量(老实说-最慢的)一般兼容的产品)和SmartBuy SSD(大约4年前购买,最近才转移到此组件中)。

由于所有这些工作都在FreeBSD 11.2下完成,因此使用bhyve创建了一个合适的virtualochka,并在那里进行了测试。

启动日志
 Run FIO 1 iter: read : io=891652KB, bw=14861KB/s, iops=3715, runt= 60001msec bw (KB /s): min= 116, max=17520, per=100.00%, avg=15449.34, stdev=2990.83 write: io=381908KB, bw=6365.3KB/s, iops=1591, runt= 60001msec bw (KB /s): min= 49, max= 7752, per=100.00%, avg=6620.06, stdev=1290.46 READ: io=891652KB, aggrb=14860KB/s, minb=14860KB/s, maxb=14860KB/s, mint=60001msec, maxt=60001msec WRITE: io=381908KB, aggrb=6365KB/s, minb=6365KB/s, maxb=6365KB/s, mint=60001msec, maxt=60001msec 2 iter: read : io=930228KB, bw=15504KB/s, iops=3875, runt= 60001msec bw (KB /s): min= 5088, max=17144, per=99.98%, avg=15500.61, stdev=2175.23 write: io=398256KB, bw=6637.6KB/s, iops=1659, runt= 60001msec bw (KB /s): min= 2064, max= 7504, per=100.00%, avg=6639.82, stdev=979.69 READ: io=930228KB, aggrb=15503KB/s, minb=15503KB/s, maxb=15503KB/s, mint=60001msec, maxt=60001msec WRITE: io=398256KB, aggrb=6637KB/s, minb=6637KB/s, maxb=6637KB/s, mint=60001msec, maxt=60001msec 3 iter: read : io=886780KB, bw=14779KB/s, iops=3694, runt= 60001msec bw (KB /s): min= 1823, max=17248, per=100.00%, avg=15520.09, stdev=2453.59 write: io=379988KB, bw=6333.3KB/s, iops=1583, runt= 60001msec bw (KB /s): min= 731, max= 7488, per=100.00%, avg=6647.33, stdev=1054.67 READ: io=886780KB, aggrb=14779KB/s, minb=14779KB/s, maxb=14779KB/s, mint=60001msec, maxt=60001msec WRITE: io=379988KB, aggrb=6333KB/s, minb=6333KB/s, maxb=6333KB/s, mint=60001msec, maxt=60001msec Run stress-ng. 1 iter. Stress-NG for 1 CPU: 12227 2 iter. Stress-NG for 1 CPU: 12399 3 iter. Stress-NG for 1 CPU: 12134 1 iter. Stress-NG for 2 CPU: 23812 2 iter. Stress-NG for 2 CPU: 23558 3 iter. Stress-NG for 2 CPU: 21254 1 iter. Stress-NG for 4 CPU: 39495 2 iter. Stress-NG for 4 CPU: 39876 3 iter. Stress-NG for 4 CPU: 42370 1 iter. Sysbench CPU for 1 thread(s): 11.0566s 2 iter. Sysbench CPU for 1 thread(s): 11.0479s 3 iter. Sysbench CPU for 1 thread(s): 11.0451s 1 iter. Sysbench CPU for 2 thread(s): 5.6159s 2 iter. Sysbench CPU for 2 thread(s): 5.5664s 3 iter. Sysbench CPU for 2 thread(s): 5.5407s 1 iter. Sysbench CPU for 4 thread(s): 2.8368s 2 iter. Sysbench CPU for 4 thread(s): 2.8801s 3 iter. Sysbench CPU for 4 thread(s): 2.8244s 1 iter. Sysbench Memory for 1 thread(s): Operations performed: 104857600 (2537704.01 ops/sec) 2 iter. Sysbench Memory for 1 thread(s): Operations performed: 104857600 (2536025.17 ops/sec) 3 iter. Sysbench Memory for 1 thread(s): Operations performed: 104857600 (2472121.34 ops/sec) 1 iter. Sysbench Memory for 2 thread(s): Operations performed: 104857600 (3182800.43 ops/sec) 2 iter. Sysbench Memory for 2 thread(s): Operations performed: 104857600 (3379413.65 ops/sec) 3 iter. Sysbench Memory for 2 thread(s): Operations performed: 104857600 (3306495.59 ops/sec) 1 iter. Sysbench Memory for 4 thread(s): Operations performed: 104857600 (4300089.71 ops/sec) 2 iter. Sysbench Memory for 4 thread(s): Operations performed: 104857600 (4163689.93 ops/sec) 3 iter. Sysbench Memory for 4 thread(s): Operations performed: 104857600 (4163996.47 ops/sec) 


如果将结果转换为表格视图,则会得到以下结果:
测验一号二等三号平均值斯特德夫
FIO读IOPS3715.003875.003694.003761.3399.00
FIO写IOPS1591.001659.001583.001611.0041.76
STRESS-NG 1个CPU12227.0012399.0012134.0012253.33134.45
STRESS-NG 2 CPU23812.0023558.0021254.0022874.671409.27
STRESS-NG 4 CPU39495.0039876.0042370.0040580.331561.56
Sysbench CPU 111.0611.0511.0511.050.01
Sysbench CPU 25.625.575.545.570.04
Sysbench CPU适用于42.842.882.822.850.03
Sysbench内存12537704.012536025.172472121.342515283.5137388.96
Sysbench内存23182800.433379413.653306495.593289569.8999393.41
Sysbench内存44300089.714163689.934163996.474209258.7078662.11

好了,有参考数据,现在直接是测试提供者的结果。

此外,我不会引用完整的日志以免使文章膨胀,但我将它们存储起来,如果您愿意,可以请求一个链接,我将共享它,尽管来自它们的数据已传输到表格中。

Yandex云


区域ru-central1-a的结果:

结果表
测验一号二等三号平均值斯特德夫
FIO读IOPS554.00543.00545.00547.335.86
FIO写IOPS237.00232.00233.00234.002.65
STRESS-NG 1个CPU10236.0010045.0010161.0010147.3396.23
STRESS-NG 2 CPU19756.0019479.0020291.0019842.00412.77
STRESS-NG 4 CPU18743.0017906.0018192.0018280.33425.43
Sysbench CPU 111.9411.9511.9811.960.02
Sysbench CPU 27.197.236.166.860.61
Sysbench CPU适用于43.723.723.703.710.01
Sysbench内存12080442.662085059.552079872.002081791.402844.64
Sysbench内存22460594.622715142.012536824.572570853.73130641.04
Sysbench内存42978385.592928369.703020014.592975589.9645886.36


区域ru-central1-b的结果:

结果表
测验一号二等三号平均值斯特德夫
FIO读IOPS543.00537.00523.00534.3310.26
FIO写IOPS232.00230.00224.00228.674.16
STRESS-NG 1个CPU10634.0010848.0011870.0011117.33660.55
STRESS-NG 2 CPU22109.0020861.0021020.0021330.00679.30
STRESS-NG 4 CPU18964.0019449.0018992.0019135.00272.29
Sysbench CPU 111.3011.3511.3411.330.03
Sysbench CPU 25.875.885.895.880.01
Sysbench CPU适用于43.563.553.543.550.01
Sysbench内存12190808.152197111.572197600.122195173.283788.20
Sysbench内存22442631.192433028.202415710.662430456.6813643.25
Sysbench内存43010239.123168720.683088677.503089212.4379242.13


区域ru-central1-c的结果:

结果表
测验一号二等三号平均值斯特德夫
FIO读IOPS541.00551.00558.00550.008.54
FIO写IOPS232.00236.00239.00235.673.51
STRESS-NG 1个CPU10424.0010192.0010325.0010313.67116.41
STRESS-NG 2 CPU19637.0020330.0019585.0019850.67415.93
STRESS-NG 4 CPU28884.0028477.0028750.0028703.67207.42
Sysbench CPU 111.6711.6411.6811.670.02
Sysbench CPU 26.026.057.066.380.59
Sysbench CPU适用于43.403.403.403.400.00
Sysbench内存12131168.412130201.752142809.682134726.617016.81
Sysbench内存22777100.502592860.272226863.892532274.89280076.82
Sysbench内存42834838.092935298.852753443.732841193.5691093.99


摘要结果:
测验平均值平均分钟平均最高斯特德夫标准偏差%
FIO读IOPS543.89534.33550.008.381.5%
FIO写IOPS232.78228.67235.673.661.6%
STRESS-NG 1个CPU10526.1110147.3311117.33518.724.9%
STRESS-NG 2 CPU20340.8919842.0021330.00856.614.2%
STRESS-NG 4 CPU22039.6718280.3328703.675786.9926.3%
Sysbench CPU 111.6511.3311.960.312.7%
Sysbench CPU 26.375.886.860.497.7%
Sysbench CPU适用于43.553.403.710.164.5%
Sysbench内存12137230.432081791.402195173.2856732.392.7%
Sysbench内存22511195.102430456.682570853.7372533.452.9%
Sysbench内存42968665.322841193.563089212.43124154.354.2%

我要特别注意一个非凡的事实。

在区域A和区域B中虚拟机的所有核心都满负荷的情况下,总性能要比四个核心中只有两个核心的负荷要低。

此外,我在其中一个区域内又坐了更多的汽车,并对其进行了测试-问题并没有消失。

我假设这是一个技术问题,并且与用于虚拟机管理程序的机器的硬件功能有关,并在分配资源时将它们考虑在内(我从实践中回想起这种情况)。 好吧,或者别的什么,我看不到里面,但是我真的不想猜测。

我希望Y. Oblak的同志们可以阅读本文并做一些处理,如果他们很幸运,他们会告诉您确切的内容,否则结果会令人反感甚至令人不快(很多应用程序都专注于计算线程数的内核数) 。

Mail.RU Cloud(MCS)


Mail.ru只有两个访问区域,因此在同一区域的不同计算机上进行了两次测试。

莫斯科东部区域(第一个虚拟机)的结果:

表与结果
测验一号二等三号平均值斯特德夫
FIO读IOPS487.00538.00534.00519.6728.36
FIO写IOPS209.00231.00229.00223.0012.17
STRESS-NG 1个CPU7359.006567.007022.006982.67397.46
STRESS-NG 2 CPU14144.0014916.0013137.0014065.67892.08
STRESS-NG 4 CPU21381.0021199.0021032.0021204.00174.55
Sysbench CPU 115.5416.2014.9815.570.61
Sysbench CPU 27.307.707.537.510.20
Sysbench CPU适用于44.024.093.793.960.16
Sysbench内存11117493.991161261.851423941.921234232.59165744.17
Sysbench内存21819474.621692128.171668347.811726650.2081262.88
Sysbench内存42357943.972379492.562312976.142350137.5633938.38


莫斯科东部区域(第二虚拟机)的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS475.00509.00472.00485.3320.55
FIO写IOPS205.00218.00204.00209.007.81
STRESS-NG 1个CPU6953.007030.007127.007036.6787.19
STRESS-NG 2 CPU14623.0013945.0013523.0014030.33554.94
STRESS-NG 4 CPU27022.0027184.0027670.0027292.00337.23
Sysbench CPU 114.8813.4414.4514.260.74
Sysbench CPU 26.897.136.696.900.22
Sysbench CPU适用于43.523.493.683.570.10
Sysbench内存11129165.421238462.801344025.161237217.79107435.28
Sysbench内存21904396.371740914.981733216.871792842.7496684.92
Sysbench内存42416702.172437844.982384159.802412902.3227043.55


莫斯科北部区域的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS510.00647.00613.00590.0071.34
FIO写IOPS218.00277.00262.00252.3330.66
STRESS-NG 1个CPU9657.009742.009867.009755.33105.63
STRESS-NG 2 CPU19251.0020069.0019677.0019665.67409.12
STRESS-NG 4 CPU39020.0038665.0038461.0038715.33282.88
Sysbench CPU 112.4512.5312.6612.550.11
Sysbench CPU 26.256.206.226.220.02
Sysbench CPU适用于43.183.163.163.170.01
Sysbench内存12003899.511990350.381974380.861989543.5814775.85
Sysbench内存21990419.202022621.531934822.521982621.0844415.93
Sysbench内存42337084.522227633.062021779.212195498.93160090.01


摘要结果:

测验平均值平均分钟平均最高斯特德夫标准偏差%
FIO读IOPS531.67485.33590.0053.3610.0%
FIO写IOPS228.11209.00252.3311/229.7%
STRESS-NG 1个CPU7924.896982.679755.331585.4420.0%
STRESS-NG 2 CPU15920.5614030.3319665.673243.4120.4%
STRESS-NG 4 CPU29070.4421204.0038715.338890.1030.6%
Sysbench CPU 114.1312.5515.571.5210.7%
Sysbench CPU 26.886.227.510.649.3%
Sysbench CPU适用于43.573.173.960.4011.2%
Sysbench内存11486997.991234232.591989543.58435,219.8129.3%
Sysbench内存21834038.011726650.201982621.08132864.827.2%
Sysbench内存42319512.932195498.932412902.32111890.394.8%

有趣的是,我想指出的是,使用四个线程时不会出现性能下降的问题,而且似乎已经发行了诚实的(尽管相当弱)内核。

同样,在北部区域,使用的处理器比东部区域要强大得多,满载时的性能差异达到两倍。 为了同样的钱。 得出自己的结论。

Selectel


他的测试结果非常有趣。 绝对而言,它提供了所有经过测试的提供商中功能最强大的4核计算机。

区域“莫斯科-Berzarin-1”的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS2319.002294.002312.002308.3312.90
FIO写IOPS998.00986.00995.00993.006.24
STRESS-NG 1个CPU11320.0011038.0010936.0011098.00198.91
STRESS-NG 2 CPU23164.0022093.0022558.0022605.00537.04
STRESS-NG 4 CPU43879.0044118.0044086.0044027.67129.74
Sysbench CPU 112.0111.9611.9711.980.02
Sysbench CPU 26.015.995.996.000.02
Sysbench CPU适用于43.013.003.003.000.01
Sysbench内存12158876.402162098.222158738.032159904.221901.32
Sysbench内存22413547.342340801.672569554.402441301.14116874.54
Sysbench内存42858920.382935705.542714476.622836367.51112325.57


区域“莫斯科-Berzarin-2”的结果:

表与结果
测验一号二等三号平均值斯特德夫
FIO读IOPS1735.001729.001724.001729.335.51
FIO写IOPS745.00742.00740.00742.332.52
STRESS-NG 1个CPU18231.0018462.0018518.0018403.67152.13
STRESS-NG 2 CPU36965.0036495.0037006.0036822.00283.93
STRESS-NG 4 CPU74272.0074428.0074218.0074306.00109.05
Sysbench CPU 111.2211.1711.1511.180.03
Sysbench CPU 25.605.605.605.600.00
Sysbench CPU适用于42.832.812.812.820.01
Sysbench内存12396762.922405750.192394240.052398917.726050.06
Sysbench内存21980511.452079328.961968664.262009501.5660761.74
Sysbench内存42283159.052271698.712299665.982284841.2514059.32


区域“圣彼得堡-杜布罗夫卡-1”的结果:

表与结果
测验一号二等三号平均值斯特德夫
FIO读IOPS2550.002618.002666.002611.3358.29
FIO写IOPS1096.001126.001147.001123.0025.63
STRESS-NG 1个CPU10801.0010512.0011175.0010829.33332.41
STRESS-NG 2 CPU21418.0021642.0023179.0022079.67958.62
STRESS-NG 4 CPU44183.0044557.0043012.0043917.33806.03
Sysbench CPU 111.9711.9911.9911.990.01
Sysbench CPU 25.995.996.005.990.01
Sysbench CPU适用于43.023.003.003.010.01
Sysbench内存12159958.702162062.662158540.582160187.311772.13
Sysbench内存22430650.732512678.852417945.572453758.3851420.53
Sysbench内存43171660.683018827.143343661.473178049.76162511.39


结果汇总表:
测验平均值平均分钟平均最高斯特德夫标准偏差%
FIO读IOPS2216.331729.332611.33448.1420.2%
FIO写IOPS952.78742.331123.00193.4920.3%
STRESS-NG 1个CPU13443.6710829.3318403.674297.5932.0%
STRESS-NG 2 CPU27168.8922079.6736822.008363.9630.8%
STRESS-NG 4 CPU54083.6743917.3374306.0017513.1432.4%
Sysbench CPU 111.7211.1811.990.464.0%
Sysbench CPU 25.865.606.000.233.9%
Sysbench CPU适用于42.942.823.010.113.7%
Sysbench内存12239669.752159904.222398917.72137912.866.2%
Sysbench内存22301520.362009501.562453758.38252972.3911.0%
Sysbench内存42766419.512284841.253178049.76450,693.8116.3%

正如我所说,在所有经过测试的提供商中,该提供程序基于4个线程提供了生产力最高的计算机。 但是这里有一个特点-同样,对于同一笔钱,我们获得的性能几乎是2倍的差异-将Berezin-2的结果与其余结果进行比较。

另外,我想提到价格合理的超快驱动器,这是三家经过测试的国内供应商提供的最佳驱动器。 同时,处理器速度最快的计算机在三分之二的驱动器中速度最慢。

事实证明,这是一种彩票,尽管即使您不走运,一切仍然会非常非常体面。

谷歌云


GCE测试结果没有带来任何特别的惊喜。

一切都是可以预料的,同质的并且通常与要求的一致。

欧洲-west1-b区的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS924.00910.00888.00907.3318.15
FIO写IOPS396.00391.00380.00389.008.19
STRESS-NG 1个CPU14237.0014137.0014094.0014156.0073.37
STRESS-NG 2 CPU28576.0028419.0028544.0028513.0082.96
STRESS-NG 4 CPU29996.0029880.0029449.0029775.00288.22
Sysbench CPU 112.6312.6612.6712.650.02
Sysbench CPU 26.526.416.386.440.08
Sysbench CPU适用于43.353.563.563.490.12
Sysbench内存12055240.492056617.632054720.942055526.35980.13
Sysbench内存21377683.731346931.631397680.791374098.7225563.81
Sysbench内存42279937.892275427.562278615.942277993.802318.63


欧洲西部1c区的结果:

测试结果
FIO读IOPS946.00995.00984.00975.0025.71
FIO写IOPS406.00428.00422.00418.6711.37
STRESS-NG 1个CPU14256.0014250.0014423.0014309.6798.20
STRESS-NG 2 CPU28875.0029057.0029256.0029062.67190.56
STRESS-NG 4 CPU30317.0030462.0029478.0030085.67531.23
Sysbench CPU 112.5212.4912.6112.540.06
Sysbench CPU 26.286.306.316.290.02
Sysbench CPU适用于43.383.573.523.490.10
Sysbench内存12085832.842066794.242086303.392079643.4911130.26
Sysbench内存21368168.111535725.511710618.591538170.74171238.33
Sysbench内存42375534.542307610.222386046.892356397.2242576.47


Europe-west1-d区的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS885.00910.00943.00912.6709/29
FIO写IOPS379.00390.00405.00391.3313.05
STRESS-NG 1个CPU14254.0014230.0014008.0014164.00135.63
STRESS-NG 2 CPU28262.0028321.0028473.0028352.00108.86
STRESS-NG 4 CPU29615.0029312.0029138.0029355.00241.39
Sysbench CPU 112.6112.6512.6612.640.03
Sysbench CPU 26.376.356.356.360.01
Sysbench CPU适用于43.433.563.553.520.07
Sysbench内存12050031.602068677.642052707.702057138.9810081.96
Sysbench内存21228313.901530374.731345581.791368090.14152,283.14
Sysbench内存42335035.152420871.722361505.392372470.7543956.33


结果汇总表:
测验平均值平均分钟平均最高斯特德夫标准偏差%
FIO读IOPS931.67907.33975.0037.624.0%
FIO写IOPS399.67389.00418.6716.504.1%
STRESS-NG 1个CPU14209.8914156.0014309.6786.500.6%
STRESS-NG 2 CPU28642.5628352.0029062.67372.631.3%
STRESS-NG 4 CPU29738.5629355.0030085.67366.691.2%
Sysbench CPU 112.6112.5412.650.060.5%
Sysbench CPU 26.366.296.440.071.1%
Sysbench CPU适用于43.503.493.520.010.4%
Sysbench内存12064102.942055526.352079643.4913482.640.7%
Sysbench内存21426786.531368090.141538170.7496508.326.8%
Sysbench内存42335620.592277993.802372470.7550549.232.2%

甚至没有什么可评论的。

4种流中的生产率几乎没有区别,但没有降低。

通常,每个内核都非常高效,其功能是测试虚拟机的内核的一半,这是无与伦比的,不能说它们是最弱的。

天空中的恒星圆盘无法捕获,但对于大多数任务而言,会有很多。

唯一值得注意的是出色的同质性。 每台机器的生产率差异仅在于测量误差,这提供了出色的可预测性和易于规划的能力。

ws


市场领导者的测试使我有些惊讶,因为他们遇到的问题与Y. Oblak一样。

尽管我已经与他合作了很长时间,但我仍然不足以发现全负载模式和部分负载模式之间的性能差异,因此结果在某种程度上让我感到惊讶。

为了进行测试,使用了c5.xlarge类型,它是最适合要求的最便宜的一种。

区域eu-central-1a的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS1839.001976.002083.001966.00122.31
FIO写IOPS789.00850.00895.00844.6753.20
STRESS-NG 1个CPU21422.0021722.0021736.0021626.67177.38
STRESS-NG 2 CPU43305.0043331.0043197.0043277.6771.06
STRESS-NG 4 CPU40876.0040884.0040888.0040882.676.11
Sysbench CPU 18.778.778.778.770.00
Sysbench CPU 24.404.404.404.400.00
Sysbench CPU适用于42.522.522.522.520.00
Sysbench内存13063495.183064238.673063452.113063728.65442.21
Sysbench内存21848705.161841708.241751938.221814117.2153962.11
Sysbench内存42413033.892249609.192299986.202320876.4383691.15


区域eu-central-1b的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS1723.001988.002101.001937.33194.03
FIO写IOPS739.00855.00903.00832.3384.32
STRESS-NG 1个CPU21785.0021733.0021741.0021753.0028.00
STRESS-NG 2 CPU43370.0043323.0040351.0042348.001729.61
STRESS-NG 4 CPU40857.0040864.0040916.0040879.0032.23
Sysbench CPU 18.778.778.778.770.00
Sysbench CPU 24.394.404.394.390.00
Sysbench CPU适用于42.522.522.522.520.00
Sysbench内存13065227.233065688.953063830.233064915.47967.78
Sysbench内存22032840.351987864.461968489.391996398.0733013.31
Sysbench内存42684716.322654257.872618592.532652522.2433096.05


区域eu-central-1c的结果:

测试结果
测验一号二等三号平均值斯特德夫
FIO读IOPS1761.002003.002108.001957.33177.95
FIO写IOPS756.00861.00906.00841.0076.97
STRESS-NG 1个CPU21632.0021708.0021615.0021651.6749.52
STRESS-NG 2 CPU43247.0043236.0043283.0043255.3324.58
STRESS-NG 4 CPU39931.0039359.0040835.0040041.67744.20
Sysbench CPU 18.778.778.778.770.00
Sysbench CPU 24.404.404.404.400.00
Sysbench CPU适用于42.522.522.522.520.00
Sysbench内存13064343.663064434.202998820.163042532.6737856.17
Sysbench内存22235882.602088501.512166875.912163753.3473740.15
Sysbench内存42870035.792813221.502771999.662818418.9849224.29


结果汇总表:
测验平均值平均分钟平均最高斯特德夫标准偏差%
FIO读IOPS1953.561937.331966.0014.700.8%
FIO写IOPS839.33832.33844.676.330.8%
STRESS-NG 1个CPU21677.1121626.6721753.0066.900.3%
STRESS-NG 2 CPU42960.3342348.0043277.67530.411.2%
STRESS-NG 4 CPU40601.1140041.6740882.67484.501.2%
Sysbench CPU 18.778.778.770.000.0%
Sysbench CPU 24.404.394.400.000.1%
Sysbench CPU适用于42.522.522.520.000.1%
Sysbench内存13057058.933042532.673064915.4712594.100.4%
Sysbench内存21991422.871814117.212163753.34174871.168.8%
Sysbench内存42597272.552320876.432818418.98253330.909.8%

就像我上面说的,结果令我惊讶。

是的,我知道问题仅在某些类型的负载下才明确显示出来(在Sysbench中不可见),但是考虑到其他平台的结果,这显然不是测试问题,即性能限制。

为了捍卫AWS,我可以说当您创建机器时,它允许您禁用HyperThreading,这至少有助于消除某些应用程序中的性能下降问题。

否则,磁盘不能保证这样的性能,但是它们支持Burst来平滑负载,因此,如果您需要相对较多,快速但不经常(例如,每隔几分钟)读/写,那么一切都会很好。

而且,结果的同质性非常好,一切都是可预测的,没有任何意外。

蔚蓝


最初,我不想将其包含在测试中,因为 我从没真正和他一起工作过,甚至在那儿也没有帐户。 但是,经过深思熟虑之后,我决定有充分的理由所有相同的东西进行测试,并为此付费

我想立即解释一下,该区域是根据“欧洲某地”的原则选择的,并且该机器的类型100%适用于各种条件(4个处理器,8GB内存)。
在测试的第一个迭代中,它是A4 v2(标记为“通用”),与本文一起发布。 提出意见的鉴赏家向我解释了我做错了什么,事实证明,Azure的计算机运行速度较慢,其价格可能比运行速度更快的计算机要高,而且无需阅读文档或谷歌搜索就不会知道 。 之后,根据F4s类型更新结果

法国中部1区的结果:

测试结果
测验一号二等三号抽水斯特德夫
FIO读IOPS1066.001102.001038.001068.6708/32
FIO写IOPS457.00473.00445.00458.3314.05
STRESS-NG 1个CPU9470.0010059.0010759.0010096.00645.30
STRESS-NG 2 CPU20424.0020502.0020940.0020622.00278.14
STRESS-NG 4 CPU39039.0039294.0039141.0039158.00128.35
Sysbench CPU 110.3210.4210.5010.420.09
Sysbench CPU 25.355.355.335.350.01
Sysbench CPU适用于42.772.782.762.770.01
Sysbench内存12449793.142467589.352456056.192457812.899027.22
Sysbench内存22370286.782388077.812299377.922352580.8446925.93
Sysbench内存42697042.082625447.202707918.642676802.6444,806.37


区域France-Central-2的结果:

测试结果
测验一号二等三号抽水斯特德夫
FIO读IOPS1037.001104.001102.001081.0012/28
FIO写IOPS445.00473.00473.00463.6716.17
STRESS-NG 1个CPU10159.0010360.0010452.0010323.67149.84
STRESS-NG 2 CPU21027.0020025.0020415.0020489.00505.08
STRESS-NG 4 CPU39530.0040927.0040170.0040209.00699.32
Sysbench CPU 110.399.959.9110.080.27
Sysbench CPU 25.095.135.195.140.05
Sysbench CPU适用于42.692.752.662.700.04
Sysbench内存12568336.752450640.642567906.162528961.1867827.92
Sysbench内存22401273.882362027.642372950.762378750.7620255.79
Sysbench内存42740927.622787787.192770497.392766404.0723696.44


法国-中部3区的结果:

测试结果
测验一号二等三号抽水斯特德夫
FIO读IOPS1436.00830.001136.001134.00303.00
FIO写IOPS614.00355.00487.00485.33129.51
STRESS-NG 1个CPU10834.0010326.0010763.0010641.00275.10
STRESS-NG 2 CPU21505.0021108.0021428.0021347.00210.53
STRESS-NG 4 CPU42194.0041540.0041427.0041720.33414.08
Sysbench CPU 19.879.759.799.800.06
Sysbench CPU 25.045.055.135.080.05
Sysbench CPU适用于42.672.652.672.660.01
Sysbench内存12622263.242616326.802632668.252623752.768271.93
Sysbench内存22495841.622438685.042556294.512496940.3958812.43
Sysbench内存42814306.592783117.342846909.912814777.9531898.90


结果汇总表:
测验平均值平均分钟平均最高斯特德夫标准偏差%
FIO读IOPS1094.561068.671134.0034.713.2%
FIO写IOPS469.11458.33485.3314.303.0%
STRESS-NG 1个CPU10353.5610096.0010641.00273.732.6%
STRESS-NG 2 CPU20819.3320489.0021347.00461.792.2%
STRESS-NG 4 CPU40362.4439158.0041720.331288.043.2%
Sysbench CPU 110.109.8010.420.313.0%
Sysbench CPU 25.195.085.350.142.7%
Sysbench CPU适用于42.712.662.770.052.0%
Sysbench内存12536842.282457812.892623752.7683250.193.3%
Sysbench内存22409424.002352580.842496940.3976912.653.2%
Sysbench内存42752661.552676802.642814777.9570006.712.5%

良好的性能,是所提供平台中最好的之一。 没错,价格破坏了一切。

总结


性能表现


让我们从数据透视表开始。

我将其插入图像,因为 我想使用颜色,但是那里的数据来自上面的表格。


越好越好,

让我们仔细研究一下CPU性能:



通常,AWS在单核和双核负载的平均测量性能方面处于领先地位。第二名是Google Cloud。

在俄罗斯供应商中,Selectel表现最好。除了在部分负荷方面排在第三位之外,他在装载所有铁心时都有独特的第一名,即使考虑到区域之间的不均匀结果(这是令人不愉快的,但在这种情况下也不会影响)。

现在的内存:



根据使用内存的速度,内存会AWS支持单线程模式,支持双线程-Azure和I.Cloud支持四线程。

磁盘:



就磁盘速度而言,我们有一个明确的赢家-Selectel。没有一个比较参与者提供类似的东西来提供可比较的钱。

排在第二位的是AWS,这得益于Burst允许的速度和通常不错的速度。
紧随其后的是GCE和Azure,以及Y. Cloud和MSC排在最后,它们提供了几乎相同的性能解决方案。

相对于性能的成本


现在让我们谈谈另一个有趣的因素-成本。

这种比较不能以任何方式涵盖不同平台上解决方案的总成本,它的目标很简单-比较不同提供商的性能单位成本。

该计算基于压力ng测试。
每个实例使用1个月的结算价格(不含增值税):
提供者Yandex云麦克斯SelectelGcews蔚蓝
价格(当前)3799.1236084050.624103.08147.57147.46
价格(擦)3799.1236084050.6246747.61689659.93229652.7316
替代价格(当前)3799.1236083,454.9435.656.079652.7316
替代价格(擦)3799.1236083,454.942330.3763670.34229652.7316

.

, , , — , .

, , .

, - , AWS, Azure (, (-), ) GCE , 65.46 .

, Azure , 16 , ( ), , , Azure .

, , stress-ng , :




, , - :




, , , Selectel, .

, .

, stress-ng , :




, :



.

, AWS GCE .

Selectel, , «» ( , , AWS Spot Google Preemptible ).

, , .

而不是结论


, — .

, , - «».
**UPDATE** Selectel, ..
**UPDATE2** Azure , ,

Source: https://habr.com/ru/post/zh-CN439690/


All Articles