云服务相对性能指标
cloudperf的Python项目详细描述
cloudperf
衡量云资源的相对性能
cloudperf是一个python助手,用于在云提供商的 基础设施(目前支持amazon aws/ec2)和获取/比较 结果及其价格。
功能包括:
- 从/到S3获取并上传EC2实例价格(按需和现货)
- 在Docker镜像中的所有EC2节点类型上运行定义的基准测试 **能够在一个节点上运行更复杂的基准测试设置,比如启动多实例分布式数据库服务器和基准客户机 **任何Docker图片都可以作为基准,唯一的要求是能够产生基准分数
- 用于更新/获取收集的数据的cli
开始
您可以使用一个简单的pip install cloudperf
安装应用程序。
然后您将拥有cloudperf
可执行文件,它是指向
应用程序。
CloudPerf数据
cloudperf使用表格数据,存储在 压缩的json文件。 这三个文件是:
- 价格:https://cloudperf-data.s3-us-west-2.amazonaws.com/prices.json.gz" rel="nofollow">https://cloudperf data.s3-us-west-2.amazonaws.com/prices.json.gz
- 性能:https://cloudperf-data.s3-us-west-2.amazonaws.com/performance.json.gz" rel="nofollow">https://cloudperf data.s3-us-west-2.amazonaws.com/performance.json.gz
- 组合:https://cloudperf-data.s3-us-west-2.amazonaws.com/combined.json.gz" rel="nofollow">https://cloudperf data.s3-us-west-2.amazonaws.com/combined.json.gz < > >
- 新实例类型出现,旧实例类型消失
- 价格可能会变化
- 现货价格是动态变化的,与证券交易所非常相似 < > >
- 获取/显示模式
- 更新模式 < > >
--cols
用于要查看的列。数据表中有许多列, 默认情况下,它们中的许多是隐藏的,以使输出更易于读取。--排序
要排序的列--filter
可以对给定列的数据进行筛选。你可以使用基本运算符, 例如>;
,<;
,>;=
,<;=
和=
强调ng:hdd rndwr ru512
:这将使用o直接o同步标志写入512字节块stress ng:hdd rndwr_4k
:这将使用o_direct、o_dsync标志写入4k字节块应力ng:crc16
:这将在随机数据上计算1024轮ccitt crc16应力ng:matrixprod
:两个128 x 128双浮点数矩阵的矩阵乘积
价格不断更新的原因有很多:
性能数据更新的频率要低得多。 合并后的文件大约每天更新一次,主要用于嵌入式 Web,不用于一般用途。
使用cli
cli有两种操作模式:
第一种情况是使用已编译的数据,其中包含 价格和基准结果。 第二个可以用于更新价目表或(重新)运行基准 并存储数据。您也可以在内部使用它来运行自己的基准。
get模式有一些常见参数:
获取价格
如果执行cloudperf prices
,它将从s3和
显示给您,例如:
$ cloudperf prices
instanceType region spot-az vcpu memory price
t3.nano eu-north-1 eu-north-1c 2 0.500 0.00160
t3.nano us-east-2 us-east-2c 2 0.500 0.00160
t3.nano us-east-1 us-east-1a 2 0.500 0.00160
t3.nano us-east-1 us-east-1f 2 0.500 0.00160
t3.nano us-east-1 us-east-1d 2 0.500 0.00160
t3.nano us-east-1 us-east-1c 2 0.500 0.00160
t3.nano us-east-1 us-east-1b 2 0.500 0.00160
t3.nano eu-north-1 eu-north-1a 2 0.500 0.00160
t3.nano us-west-2 us-west-2a 2 0.500 0.00160
t3.nano us-east-2 us-east-2b 2 0.500 0.00160
t3.nano eu-north-1 eu-north-1b 2 0.500 0.00160
t3.nano us-east-2 us-east-2a 2 0.500 0.00160
t3.nano eu-west-1 eu-west-1a 2 0.500 0.00170
t3.nano eu-west-1 eu-west-1c 2 0.500 0.00170
t3.nano ca-central-1 ca-central-1b 2 0.500 0.00170
t3.nano ap-south-1 ap-south-1b 2 0.500 0.00170
t3.nano ap-south-1 ap-south-1a 2 0.500 0.00170
t3.nano us-west-2 us-west-2c 2 0.500 0.00170
t3.nano ca-central-1 ca-central-1a 2 0.500 0.00170
t3.nano eu-west-1 eu-west-1b 2 0.500 0.00170
t3.nano eu-west-2 eu-west-2b 2 0.500 0.00180
t3.nano eu-central-1 eu-central-1c 2 0.500 0.00180
t3.nano us-west-2 us-west-2b 2 0.500 0.00180
t3.nano eu-west-2 eu-west-2a 2 0.500 0.00180
t3.nano eu-west-2 eu-west-2c 2 0.500 0.00180
t3.nano eu-central-1 eu-central-1a 2 0.500 0.00180
t3.nano eu-central-1 eu-central-1b 2 0.500 0.00180
t3.nano us-west-1 us-west-1b 2 0.500 0.00190
t3.nano us-west-1 us-west-1a 2 0.500 0.00190
t3.nano ap-northeast-1 ap-northeast-1a 2 0.500 0.00200
t1.micro eu-west-1 eu-west-1b 1 0.613 0.00200
t3.nano ap-southeast-2 ap-southeast-2b 2 0.500 0.00200
t3.nano ap-southeast-2 ap-southeast-2c 2 0.500 0.00200
t3.nano ap-southeast-2 ap-southeast-2a 2 0.500 0.00200
t3.nano ap-southeast-1 ap-southeast-1c 2 0.500 0.00200
t1.micro us-east-1 us-east-1b 1 0.613 0.00200
t1.micro us-east-1 us-east-1c 1 0.613 0.00200
您可以筛选任何列,如给定区域:
$ cloudperf prices --filter region=us-west-2 | head -10
instanceType region spot-az vcpu memory price
t3.nano us-west-2 us-west-2a 2 0.500 0.0016
t3.nano us-west-2 us-west-2c 2 0.500 0.0017
t3.nano us-west-2 us-west-2b 2 0.500 0.0018
t1.micro us-west-2 us-west-2a 1 0.613 0.0020
t1.micro us-west-2 us-west-2b 1 0.613 0.0020
t1.micro us-west-2 us-west-2c 1 0.613 0.0020
t3.micro us-west-2 us-west-2c 2 1.000 0.0031
t3.micro us-west-2 us-west-2a 2 1.000 0.0031
t3.micro us-west-2 us-west-2b 2 1.000 0.0031
您可以有多个过滤器:
$ cloudperf prices --filter 'vcpu>=128' --filter region=us-west-2
instanceType region spot-az vcpu memory price
x1.32xlarge us-west-2 us-west-2c 128 1952.0 4.0014
x1.32xlarge us-west-2 us-west-2b 128 1952.0 4.0014
x1.32xlarge us-west-2 None 128 1952.0 13.3380
x1.32xlarge us-west-2 us-west-2a 128 1952.0 13.3380
x1e.32xlarge us-west-2 None 128 3904.0 26.6880
x1e.32xlarge us-west-2 us-west-2b 128 3904.0 26.6880
x1e.32xlarge us-west-2 us-west-2a 128 3904.0 26.6880
spot az列包含可用性区域(az)和最后一个已知的spot 价格(如有)。spot az none标记中实例的按需价格 那个地区。
获得基准测试结果
您可以发布cloudperf performance--no combined
以获得最新的基准
结果。这将包括基准实例的所有基准,以及
他们的最新得分。
默认情况下,这将只显示带有VCPU编号的基准测试结果
并发性(指使用vcpu并行性运行的基准程序)。
如果要查看每个vcpu数的基准测试结果,可以使用
例子:
$ cloudperf performance --no-combined --no-maxcpu --filter instanceType=m5.24xlarge --filter benchmark_id=stress-ng:crc16
instanceType benchmark_id benchmark_cpus benchmark_score
m5.24xlarge stress-ng:crc16 1 153.4700
m5.24xlarge stress-ng:crc16 2 305.4200
m5.24xlarge stress-ng:crc16 3 457.2700
m5.24xlarge stress-ng:crc16 4 607.5400
m5.24xlarge stress-ng:crc16 5 750.4900
m5.24xlarge stress-ng:crc16 6 897.9900
m5.24xlarge stress-ng:crc16 7 1042.1200
m5.24xlarge stress-ng:crc16 8 1186.4000
m5.24xlarge stress-ng:crc16 9 1333.7000
m5.24xlarge stress-ng:crc16 10 1480.6400
m5.24xlarge stress-ng:crc16 11 1624.5700
m5.24xlarge stress-ng:crc16 12 1773.9300
m5.24xlarge stress-ng:crc16 13 1921.5400
m5.24xlarge stress-ng:crc16 14 2066.2900
m5.24xlarge stress-ng:crc16 15 2213.0600
m5.24xlarge stress-ng:crc16 16 2359.9000
m5.24xlarge stress-ng:crc16 17 2507.6800
m5.24xlarge stress-ng:crc16 18 2653.8500
m5.24xlarge stress-ng:crc16 19 2800.1600
m5.24xlarge stress-ng:crc16 20 2945.6200
m5.24xlarge stress-ng:crc16 21 3092.3500
m5.24xlarge stress-ng:crc16 22 3238.4400
m5.24xlarge stress-ng:crc16 23 3383.5900
m5.24xlarge stress-ng:crc16 24 3528.6500
m5.24xlarge stress-ng:crc16 25 3673.7700
m5.24xlarge stress-ng:crc16 26 3821.0200
m5.24xlarge stress-ng:crc16 27 3963.2900
m5.24xlarge stress-ng:crc16 28 4109.5900
m5.24xlarge stress-ng:crc16 29 4253.9200
m5.24xlarge stress-ng:crc16 30 4400.6100
m5.24xlarge stress-ng:crc16 31 4543.7900
m5.24xlarge stress-ng:crc16 32 4690.0000
m5.24xlarge stress-ng:crc16 33 4826.8500
m5.24xlarge stress-ng:crc16 34 4938.4700
m5.24xlarge stress-ng:crc16 35 5114.5600
m5.24xlarge stress-ng:crc16 36 5256.2100
m5.24xlarge stress-ng:crc16 37 5391.5700
m5.24xlarge stress-ng:crc16 38 5532.8000
m5.24xlarge stress-ng:crc16 39 5641.4900
m5.24xlarge stress-ng:crc16 40 5797.2500
m5.24xlarge stress-ng:crc16 41 5941.1000
m5.24xlarge stress-ng:crc16 42 6072.0700
m5.24xlarge stress-ng:crc16 45 6207.2000
m5.24xlarge stress-ng:crc16 43 6208.1700
m5.24xlarge stress-ng:crc16 44 6333.4600
m5.24xlarge stress-ng:crc16 46 6508.2700
m5.24xlarge stress-ng:crc16 47 6709.0500
m5.24xlarge stress-ng:crc16 48 6869.4300
m5.24xlarge stress-ng:crc16 50 6973.1700
m5.24xlarge stress-ng:crc16 49 6973.2600
m5.24xlarge stress-ng:crc16 51 7127.6400
m5.24xlarge stress-ng:crc16 52 7327.4600
m5.24xlarge stress-ng:crc16 53 7444.9100
m5.24xlarge stress-ng:crc16 54 7546.5700
m5.24xlarge stress-ng:crc16 55 7658.1300
m5.24xlarge stress-ng:crc16 56 7708.0800
m5.24xlarge stress-ng:crc16 57 7885.0400
m5.24xlarge stress-ng:crc16 58 7994.7500
m5.24xlarge stress-ng:crc16 59 8099.9600
m5.24xlarge stress-ng:crc16 60 8211.5600
m5.24xlarge stress-ng:crc16 61 8314.0200
m5.24xlarge stress-ng:crc16 62 8434.1600
m5.24xlarge stress-ng:crc16 63 8543.7900
m5.24xlarge stress-ng:crc16 64 8650.0700
m5.24xlarge stress-ng:crc16 65 8751.9500
m5.24xlarge stress-ng:crc16 66 8861.1900
m5.24xlarge stress-ng:crc16 67 8974.5600
m5.24xlarge stress-ng:crc16 68 9083.7900
m5.24xlarge stress-ng:crc16 69 9194.9700
m5.24xlarge stress-ng:crc16 70 9305.0300
m5.24xlarge stress-ng:crc16 71 9408.9300
m5.24xlarge stress-ng:crc16 72 9504.9400
m5.24xlarge stress-ng:crc16 73 9630.7000
m5.24xlarge stress-ng:crc16 74 9739.4700
m5.24xlarge stress-ng:crc16 75 9849.7800
m5.24xlarge stress-ng:crc16 76 9955.6900
m5.24xlarge stress-ng:crc16 77 10067.6800
m5.24xlarge stress-ng:crc16 78 10163.1200
m5.24xlarge stress-ng:crc16 79 10284.8700
m5.24xlarge stress-ng:crc16 80 10392.3300
m5.24xlarge stress-ng:crc16 81 10489.5500
m5.24xlarge stress-ng:crc16 82 10609.9500
m5.24xlarge stress-ng:crc16 83 10660.9400
m5.24xlarge stress-ng:crc16 84 10819.9800
m5.24xlarge stress-ng:crc16 85 10931.2500
m5.24xlarge stress-ng:crc16 86 11042.3300
m5.24xlarge stress-ng:crc16 87 11142.7500
m5.24xlarge stress-ng:crc16 88 11259.1200
m5.24xlarge stress-ng:crc16 89 11366.6500
m5.24xlarge stress-ng:crc16 90 11432.5700
m5.24xlarge stress-ng:crc16 91 11569.4600
m5.24xlarge stress-ng:crc16 92 11680.7600
m5.24xlarge stress-ng:crc16 93 11787.9300
m5.24xlarge stress-ng:crc16 94 11902.5500
m5.24xlarge stress-ng:crc16 95 11995.5200
m5.24xlarge stress-ng:crc16 96 12102.4500
在这里您可以看到Insta的可扩展性NCE(主要是管理程序/CPU和 引导操作系统)。
获得性能/价格结果
该计划存在的主要原因是执行性能/价格比 为了知道我们应该使用哪些实例 执行大批量作业。
您可以使用命令列出实例的相对性能/价格结果 类似于此:
$ cloudperf performance --filter benchmark_id=stress-ng:crc16 --filter region=us-west-2
instanceType benchmark_id benchmark_cpus perf/price price benchmark_score region spot-az
[...]
t2.2xlarge stress-ng:crc16 8 8765.0808 0.1114 976.4300 us-west-2 us-west-2b
t2.2xlarge stress-ng:crc16 8 8765.0808 0.1114 976.4300 us-west-2 us-west-2a
t2.xlarge stress-ng:crc16 4 8862.2980 0.0557 493.6300 us-west-2 us-west-2a
t2.xlarge stress-ng:crc16 4 8862.2980 0.0557 493.6300 us-west-2 us-west-2b
t2.xlarge stress-ng:crc16 4 8862.2980 0.0557 493.6300 us-west-2 us-west-2c
t3.xlarge stress-ng:crc16 4 9067.4651 0.0501 454.2800 us-west-2 us-west-2b
c4.8xlarge stress-ng:crc16 36 9370.8534 0.4992 4677.9300 us-west-2 us-west-2c
c4.8xlarge stress-ng:crc16 36 9529.2931 0.4909 4677.9300 us-west-2 us-west-2b
c4.8xlarge stress-ng:crc16 36 9535.1203 0.4906 4677.9300 us-west-2 us-west-2a
t3.2xlarge stress-ng:crc16 8 9742.1769 0.1029 1002.4700 us-west-2 us-west-2a
t3.2xlarge stress-ng:crc16 8 10004.6906 0.1002 1002.4700 us-west-2 us-west-2b
t3.small stress-ng:crc16 2 12400.0000 0.0209 259.1600 us-west-2 us-west-2d
t3.small stress-ng:crc16 2 12459.6154 0.0208 259.1600 us-west-2 None
t2.medium stress-ng:crc16 2 17940.2878 0.0139 249.3700 us-west-2 us-west-2c
t2.medium stress-ng:crc16 2 17940.2878 0.0139 249.3700 us-west-2 us-west-2b
t2.medium stress-ng:crc16 2 17940.2878 0.0139 249.3700 us-west-2 us-west-2a
t3.small stress-ng:crc16 2 41136.5079 0.0063 259.1600 us-west-2 us-west-2a
t3.small stress-ng:crc16 2 41136.5079 0.0063 259.1600 us-west-2 us-west-2b
t3.small stress-ng:crc16 2 41136.5079 0.0063 259.1600 us-west-2 us-west-2c
在这里你可以看到,对你来说,没有什么比获得良好的表现更重要的了
为了你的钱,t3.小的最好。
警告!基准测试是以不受限制的CPU点数(如适用)执行的,
但这并没有反映在价格上!< /P> 从列表中排除burstable实例会给出: 这意味着在编写本文时,spot c4.8xlege实例是赢家
在美国东部2区举行的价格/性能竞赛。 因为运行基准测试要花钱,所以它们的范围相当有限。
我们使用stress ng来执行多进程
标杆管理。我们不关心绝对数,只关心关系
他们之间。 此脚本和运行基准由system1赞助。
System1使用亚马逊的基础设施来运行其业务,并且有很多批处理作业,
应该以最具成本效益的方式执行。
cloudperf有助于实现这一点:它显示了哪一个是性能最好的实例
以执行时的给定价格。 实际价格可在此处浏览:
https://bra-fsn.github.io/cloudperf/prices.htmlc5d.18xlarge stress-ng:crc16 72 14177.0380 0.7029 9965.0400 us-east-2 us-east-2b
c5.18xlarge stress-ng:crc16 72 14339.3896 0.6946 9960.1400 us-east-2 us-east-2c
c5.18xlarge stress-ng:crc16 72 14368.3497 0.6932 9960.1400 us-east-2 us-east-2b
c5d.2xlarge stress-ng:crc16 8 14375.2618 0.0764 1098.2700 us-east-2 us-east-2b
c4.4xlarge stress-ng:crc16 16 14386.1878 0.1448 2083.1200 us-east-2 us-east-2c
c4.4xlarge stress-ng:crc16 16 14386.1878 0.1448 2083.1200 us-east-2 us-east-2b
c4.4xlarge stress-ng:crc16 16 14386.1878 0.1448 2083.1200 us-east-2 us-east-2a
c5d.2xlarge stress-ng:crc16 8 14450.9211 0.0760 1098.2700 us-east-2 us-east-2c
c5.4xlarge stress-ng:crc16 16 14595.0690 0.1521 2219.9100 us-east-2 us-east-2a
c5.4xlarge stress-ng:crc16 16 14595.0690 0.1521 2219.9100 us-east-2 us-east-2c
c5.4xlarge stress-ng:crc16 16 14604.6711 0.1520 2219.9100 us-east-2 us-east-2b
c5d.9xlarge stress-ng:crc16 36 14605.6416 0.3421 4996.5900 us-east-2 us-east-2a
c5d.9xlarge stress-ng:crc16 36 14605.6416 0.3421 4996.5900 us-east-2 us-east-2b
c5d.9xlarge stress-ng:crc16 36 14605.6416 0.3421 4996.5900 us-east-2 us-east-2c
a1.xlarge stress-ng:crc16 4 15625.8883 0.0197 307.8300 us-east-2 us-east-2b
a1.xlarge stress-ng:crc16 4 15625.8883 0.0197 307.8300 us-east-2 us-east-2a
c4.8xlarge stress-ng:crc16 36 16153.0732 0.2896 4677.9300 us-east-2 us-east-2b
c4.8xlarge stress-ng:crc16 36 16153.0732 0.2896 4677.9300 us-east-2 us-east-2a
c4.8xlarge stress-ng:crc16 36 16153.0732 0.2896 4677.9300 us-east-2 us-east-2c
当前可用的基准
动机
实时数据
推荐PyPI第三方库