云服务相对性能指标

cloudperf的Python项目详细描述


cloudperf

衡量云资源的相对性能

cloudperf是一个python助手,用于在云提供商的 基础设施(目前支持amazon aws/ec2)和获取/比较 结果及其价格。

功能包括:

  • 从/到S3获取并上传EC2实例价格(按需和现货)
  • 在Docker镜像中的所有EC2节点类型上运行定义的基准测试 **能够在一个节点上运行更复杂的基准测试设置,比如启动多实例分布式数据库服务器和基准客户机 **任何Docker图片都可以作为基准,唯一的要求是能够产生基准分数
  • 用于更新/获取收集的数据的cli

开始

您可以使用一个简单的pip install cloudperf安装应用程序。 然后您将拥有cloudperf可执行文件,它是指向 应用程序。

CloudPerf数据

cloudperf使用表格数据,存储在 压缩的json文件。 这三个文件是:

  1. 价格: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
  2. 性能: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
  3. 组合: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
  4. < > >

    价格不断更新的原因有很多:

    1. 新实例类型出现,旧实例类型消失
    2. 价格可能会变化
    3. 现货价格是动态变化的,与证券交易所非常相似
    4. < > >

      性能数据更新的频率要低得多。 合并后的文件大约每天更新一次,主要用于嵌入式 Web,不用于一般用途。

      使用cli

      cli有两种操作模式:

      1. 获取/显示模式
      2. 更新模式
      3. < > >

        第一种情况是使用已编译的数据,其中包含 价格和基准结果。 第二个可以用于更新价目表或(重新)运行基准 并存储数据。您也可以在内部使用它来运行自己的基准。

        get模式有一些常见参数:

        • --cols用于要查看的列。数据表中有许多列, 默认情况下,它们中的许多是隐藏的,以使输出更易于读取。
        • --排序要排序的列
        • --filter可以对给定列的数据进行筛选。你可以使用基本运算符, 例如>;<;>;=<;==

        获取价格

        如果执行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实例会给出:

        c5d.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
        

        这意味着在编写本文时,spot c4.8xlege实例是赢家 在美国东部2区举行的价格/性能竞赛。

        当前可用的基准

        因为运行基准测试要花钱,所以它们的范围相当有限。 我们使用stress ng来执行多进程 标杆管理。我们不关心绝对数,只关心关系 他们之间。

        动机

        此脚本和运行基准由system1赞助。 System1使用亚马逊的基础设施来运行其业务,并且有很多批处理作业, 应该以最具成本效益的方式执行。 cloudperf有助于实现这一点:它显示了哪一个是性能最好的实例 以执行时的给定价格。

        实时数据

        实际价格可在此处浏览: https://bra-fsn.github.io/cloudperf/prices.html

        欢迎加入QQ群-->: 979659372 Python中文网_新手群

        推荐PyPI第三方库


热门话题
java JBPM:无法部署进程存档:null   java将一个数组拆分为两个大小相等的数组   java Spring boot验证该字段是否为string类型   JAVA JPA保存到TSV而不是SQL   java PMD报告超过X个违规   java是否支持springdatagremlin中的自定义查询?   java在“for”循环后使用变量   JPQL中默认查询中的java错误列   如何在java中实现不同于线程的进程?   java如何检查字符串是否平衡?   xml使用xalan扩展在XSL中处理java集合   java我试图使用子类/超类重写另一个类的值   转换为JSON时出现java堆栈溢出问题   java考虑定义一个类型为“COM”的bean。实例演示。在您的配置中命令$DefaultIO   java在kubernetes中如何检索转发端口的值?   JavaEclipse,动态web项目,向类路径添加另一个eclipse项目   eclipse的java Spring上下文XML验证器?   Linux下利用MATLAB(Windows)生成Java包   Java:在存储到DDC之前验证属性   java校验字符串