云服务器基准性能测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 随着数字化的不断发展,企业 IT 上云早已是大势所趋,通常上云的第一步是选一款云服务器。然而云服务器的型号众多,如阿里云的云服务器规格就多达上百款(详见https://help.aliyun.com/document_detail/25378.html),因此在选择具体一款规格的云服务器时,通常需要对云服务器的性能做一个基准测试,然后再做一轮业务测试。本最佳实践适合利用标准的benchmark工具对云服务器的CPU、内存、网络和磁盘性能进行测试的场景。

分享人:敬海,解决方案架构师

西邪,高级专家

视频地址:https://yqh.aliyun.com/live/detail/21950

 

正文:

最佳实践目前已覆盖23种常用场景,有170余篇最佳实践,这其中涉及100款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。本篇实践将从3个部分为大家详细介绍云服务器基准性能测试最佳实践,希望可以让大家对其有更深入的了解,并可以将其应用到项目中,达到降本提效的目的。

本文主要内容分为以下三个方面:

l 最佳实践原理讲解

l 测试工具讲解

l 最佳实践系统搭建


一、 最佳实践原理讲解


1)云服务器性能测试-场景描述


本最佳实践适合利用标准的benchmark工具对云服务器的CPU、内存、网络和磁盘进行测试的场景。适用的客户主要是对云服务器进行基准性能测试的客户。

image.png


2)云服务器基准性能测试-系统架构


云服务器基准性能测试的架构比较简单,我们在同一个VPC里面创建两台配置完全一模一样的ECS,然后进行性能测试。

image.png

测试的内容主要包括以下几个部分:CPU、内存、网络和云盘。

CPU这块我们采用SuperPi 、Unixbench来测试CPU的单核和多核性能。

内存这块我们采用Stream来测试内存带宽采用MLC来测试内存延迟。

网络这块儿我们采用netperf来测试网络带宽和PPS。

云盘这块我们采用FIO来测试云盘的带宽和IOPS.

image.png


二、 云服务器基准性能测试


1)云服务器性能测试介绍


说起服务器就会谈到性价比,性价比定义为性能除以价格。性能可以分为多块,可以理解为狭义的性能,性能分就是常见的跑分、业务性能、业务达到的性能值,比如时延,比如QPS。稳定在时域上可以分为两块,每次测试性能分都是稳定,测试过程中的性能稳定,波动不强。时延代表了客户响应能力及客户体验。具体的性能怎么定义?可以分为CPU、网络、存储、内存性能。CPU可以通过SuperPI、Unixbench进行性能测试。网络测试可以通过netperf、iperf进行性能测试。磁盘测试通常采用FIO进行性能测试。这种测试通常采用Stream进行性能测试。

image.png

 

2)性能测试工具


在CPU性能测试这块有Unixbench、SuperPI、SpecCPU、SpecJBB、Lmbench。SpecCPU、SpecJBB是收费的,就不多介绍了,其他都是免费的。SuperPI通过计算π看CPU耗时,主要衡量的是CPU的主频。Unixbench是一个综合性的测试工具,跟操作系统关联很大,而且这个工具现在不维护了,里面有不少BUG,我们做了修复。在阿里云的http://github.com/aliyun上面有,里面详细介绍了为什么做这些修改。Lmbench则是侧重于去计算CPU的主频、L3cache等等,是一个非常古老的测试工具。

网络测试主要使用net perf 、iperf,要注意的是现在网上流传的文档都是单流测试即起一个server一个client进行压测。现在的网络性能都很好,单流测试往往达不到网络的瓶颈,需要多流进行性能测试。Sockeperf和ping主要是用来做网络时延测试。Handy主要适用于连接处测试,但是这个测试往往取决于内存大小,所以不是很推荐。

磁盘测试最看重的是FIO,测试的时候一定要注意,direct=1,否则测试的时候会跟操作系统关联很大。

内存测试通常采用Stream,一般来说很少有业务内存带宽是瓶颈.MLC则是英特尔提供的内存测试工具,可以准确的测试出内存时延。

业务测试则是多种多样的,有http服务的,有ab、gatling、wrk进行压测。像数据库测试可用sysbench,当然sysbench也可以做很多其他测试。Redis测试则使用redisbent。大数据测试可以考虑使用Bigbench。业务测试种类繁多,大家可以采用最贴合自己的业务场景(的工具)进行性能测试。

image.png

 

三、最佳实践系统搭建


下面简单演示下测试环境的搭建。


1)创建应用模板

步骤1登录 CADT 控制台。(https://bpstudio.console.aliyun.com

步骤2在菜单栏单击新建 > 官方模板库新建。

image.png

步骤3选择 ecs-benchmark 模板,单击基于方案新建。

image.png

步骤4配置模板资源参数。

l l 选择一个地域,这里选择北京

l l 修改 vpc 名称,这里是 vpc_beijing

l l 修改 vswitch 名称,这里选择 cn-beijing-j 可用区,

l l 选择你要测试的 ECS 的规格以及 ECS 的参数。

ᅳ根据需要选择 ECS 的规格

ᅳ操作系统选择 CentOS 7.8

ᅳ数据盘选择 essd 700GB

ᅳ其他根据需要配置

步骤5配置完成,单击右上角保存按钮,输入应用名称,并单击确认。

image.png


2)部署应用


步骤1从菜单栏单击应用 > 部署应用,开始进行资源验证。image.png

步骤2资源验证成功,单击下一步:价格清单。

说明:如果资源验证失败,根据提示修改对应参数配置即可。

image.png

步骤3单击下一步:部署清单。

image.png

 

步骤4勾选服务协议,单击下一步:创建资源。

image.png

 

步骤5资源部署成功。

image.png

 

步骤6单击资源名称中的资源,打开 ECS 的控制台,查看已经创建完成的 ECS 资源。

image.png

关于完整的搭建演示过程,大家可以用过https://bp.aliyun.com/detail/189这个链接来访问本篇最佳实践文档内容,里面包含最佳实践场景和完整的搭建过程。

 

 

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
1月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
116 32
|
1月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
85 31
|
1月前
|
机器学习/深度学习 人工智能 安全
AI真的能与人类数据科学家竞争吗?OpenAI的新基准对其进行了测试
AI真的能与人类数据科学家竞争吗?OpenAI的新基准对其进行了测试
|
1月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
41 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
71 4
|
1月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
56 3
|
1月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
42 1
|
1月前
|
弹性计算 网络协议 Linux
云服务器评估迁移时间与测试传输速度
云服务器评估迁移时间与测试传输速度
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
141 3
下一篇
无影云桌面