性能测试服务用户手册 - alibabaimg.alibaba.com/kf/htb1uzljhxxxxxxcaxxx.prxfxxxj.pdf7 1.1.5...

20
1 性能测试服务用户手册

Upload: others

Post on 04-Jul-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

1

性能测试服务用户手册

Page 2: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

2

目 录

1. 产品介绍 ................................................................................................................................... 4

1.1 产品概述 ........................................................................................................................... 4

1.1.1 概述......................................................................................................................... 4

1.1.2 优势......................................................................................................................... 4

1.1.3 功能......................................................................................................................... 5

1.1.4 快速入门 ................................................................................................................. 5

1.1.5 名词解释 ................................................................................................................. 7

1.2 性能测试常用指标 ........................................................................................................... 7

1.2.1 事务......................................................................................................................... 7

1.2.2 TPS ............................................................................................................................ 7

1.2.3 并发......................................................................................................................... 8

1.2.4 场景......................................................................................................................... 8

1.2.5 响应时间 ................................................................................................................. 8

1.2.6 并发用户数 ............................................................................................................. 9

1.2.7 请求状态 ................................................................................................................. 9

1.2.8 CPU ........................................................................................................................... 9

1.2.9 Load .......................................................................................................................... 9

2 操作指南 ................................................................................................................................. 10

2.1 概览 ............................................................................................................................. 10

2.1.1 使用流程 ............................................................................................................... 10

2.1.2 模块介绍 ............................................................................................................... 10

2.2 测试环境 ..................................................................................................................... 11

2.2.1 选择测试机 ..................................................................................................... 11

2.3 脚本编写 ..................................................................................................................... 11

2.3.1 添加事务 ............................................................................................................... 11

2.3.2 域名绑定 ............................................................................................................... 13

2.3.3 参数化................................................................................................................... 14

2.3.4 是否登录 ............................................................................................................... 15

2.3.5 快速启动 ............................................................................................................... 16

2.4 场景制定.......................................................................................................................... 16

2.4.1 常规模式 ............................................................................................................... 16

2.4.2 梯度模式 ............................................................................................................... 17

2.4.3 目标模式 ............................................................................................................... 17

2.5 任务维护 ..................................................................................................................... 18

2.5.1 新建任务 ............................................................................................................... 18

2.5.2 任务操作 ............................................................................................................... 19

Page 3: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

3

2.6 测试结果 ..................................................................................................................... 19

2.6.1 结果详情 ......................................................................................................... 19

2.6.2 查看日志 ......................................................................................................... 20

Page 4: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

4

1. 产品介绍

1.1 产品概述

1.1.1 概述

性能测试服务(Performance Test Service,简称 PTS)是集测试机管理、测试脚本

管理、测试场景管理、测试任务管理、测试结果管理为一体的性能云测试平台。针对阿里云

用户复杂的分布式应用,PTS 可以快速扩容,动态配置域名,满足不断增长的集群压测需求。

阿里云用户可以使用 PTS 对自身系统性能在阿里云环境里的状况进行整体评估,一方面

可以找到系统性能瓶颈从而优化系统,另一方面可以充分了解系统性能指标便于未来扩容。

阿里云用户在使用 PTS 时需自行购买测试机(ECS、RDS),PTS 在压测时会判断用户

名下有哪些服务器,压测流量只会对用户名下的服务器生效,没有购买服务器将无法使用

PTS。

PTS 在工作时会通过施压机产生压测流量,用户如果对施压的流量、地域等有更多要求,

PTS 施压机可动态扩展在全球范围进行部署。

注意,用户至少有一台 ECS 能作为测试机使用。

1.1.2 优势

独特性:基于阿里云平台构建服务体系,维护成本低;测试环境、测试工具高度仿真,

高可用;五分钟上手,阿里巴巴内部产品指定压测工具。

专业性:分布式并发压测,施压能力无上限;测试场景贴近现实,压测日志精准分析;

全方位全链路专业测试咨询服务。

Page 5: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

5

标准化:去除云内外测试差异性;测试策略、测试手段统一,测试过程透明可控;测试

结果可信度高,性能调优利器。

1.1.3 功能

环境管理:提供测试机维护入口。

脚本管理:提供简单易用的性能测试脚本模板。

场景管理:提供多种模拟真实场景的施压方式。

任务管理:提供丰富的性能指标监控和多种操控方式。

结果报表:提供完善的性能结果报表和强大的性能分析日志。

1.1.4 快速入门

五步完成性能测试:

1、 选择测试机,至少选择一台 ECS。

2、 创建脚本,根据模板添加事务即可。注意:用户只能针对测试机进行性能测试,所

有压测请求都会指向测试机。

Page 6: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

6

3、 创建场景,单场景并发用户数上限 10000。

4、 创建任务并执行。

5、查看结果。

Page 7: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

7

1.1.5 名词解释

测试机:用户从已购买的 ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

加至 PTS 测试环境里。

待测系统:部署在测试机上的应用系统。

监控机:从测试机中选取需要进行服务器资源监控的服务器。

1.2 性能测试常用指标

以下是在使用 PTS 的过程中会遇到的性能指标,这些指标决定了该应用的性能水平,

同时是定位性能瓶颈的依赖条件。

1.2.1 事务

事务是性能测试脚本的一个重要特性,要度量服务器的性能需要定义事务,每个事务都

包含事务开始和事务结束标记。事务用来衡量脚本中一行代码或多行代码执行所耗费的时间。

可以将事务开始放置在脚本中某行或者多行代码的前面,将事务结束放置在该行或者多行代

码的后面,在该脚本的虚拟用户运行时此事务将衡量该行或者多行代码的执行花费了多长时

间。

1.2.2 TPS

TPS(Transaction Per Second)每秒系统能够处理的交易或事务的数量,它是衡量系统

处理能力的重要指标。

Page 8: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

8

1.2.3 并发

并发分为狭义和广义两类。

狭义并发即所有的用户在同一时刻做同一件事情或操作,这种操作一般针对同一类型的

业务,或者所有用户进行完全一样的操作,目的是测试数据库和程序对并发操作的处理。

广义并发即多个用户对系统发出了请求或者进行了操作,但是这些请求或操作可以是不

同的,但对整个系统而言,仍然是有很多用户在同时进行操作。

狭义并发强调对系统的请求操作是完全相同的,多适用于负载测试、压力测试;广义并

发不限制对系统的请求操作,多适用于混合场景、稳定性测试。

1.2.4 场景

性能测试过程中为了模拟真实用户的业务处理过程,在系统中构建的基于事务、脚本、

虚拟用户、运行设置、运行计划、监控、分析等一系列动作的集合称之为性能测试场景。场

景中包含了待执行脚本、脚本组、并发用户数、负载生成器、测试目标、测试执行时的配置

条件等。

1.2.5 响应时间

响应时间是指从客户端发一个请求开始,到客户端接收到服务端返回的响应所经历的时

间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。

在性能测试结果分析中,性能场景中事务的响应时间可以通过监控得到,事务响应时间

分为事务最小响应时间、事务平均响应时间、事务最大响应时间

Page 9: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

9

1.2.6 并发用户数

模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤都被记录在虚拟用户脚本

里,脚本用于描述用户在场景中执行的操作。

1.2.7 请求状态

请求状态反映了 HTTP 压测结果的 HTTP 状态码,状态码含义如下:

成功 200:服务器已成功处理了请求并提供了请求的网页。

成功 204:服务器成功处理了请求,但没有返回任何内容。

重定向 3xx:每次请求中使用重定向不要超过 5 次。

客户端错误 4xx:表示请求可能出错,妨碍了服务器的处理。

服务器错误 5xx:表示服务器在处理请求时发生内部错误,这些错误可能是服务器本身

的错误而不是请求出错。

1.2.8 CPU

CPU 资源是指性能测试场景运行的时间段内应用服务系统的 CPU 资源占用率,CPU

资源是判断系统处理能力及应用运行是否稳定的重要参数。

1.2.9 Load

系统平均负载指在特定时间间隔内运行队列中的平均进程数。如果一个进程满足以下条

件就会位于运行队列中:

它没有在等待 I/O 操作的结果。

它没有主动进入等待状态,也就是没有调用“wait”。

Page 10: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

10

没有被停止,例如等待终止。

2 操作指南

2.1 概览

2.1.1 使用流程

一套完整的的性能测试过程包括环境管理、脚本创建、场景创建、任务创建、任务执行

和结果查看,按先后顺序执行。

2.1.2 模块介绍

环境:可选择已购买的 ECS、RDS、SLB 作为测试机使用。

脚本:脚本是执行性能测试的基础,脚本里包括需要压测的服务器地址、压测的 url、

压测的参数和压测的类型。

场景:场景需要绑定脚本来运行,一个场景绑定一个脚本,可在场景中设置并发压测用

户数、施压模式。

任务:任务执行需要绑定场景,一个任务可以绑定多个场景,任务开始执行后可以实时

Page 11: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

11

查看性能指标。

结果:结果自动保存可随时查看。

2.2 测试环境

2.2.1 选择测试机

在进行压测前必须先选择测试机,PTS 会列出用户名下已购买的 ECS、RDS、SLB,用

户至少选择一台 ECS 作为测试机方能开展后续压测工作。

2.3 脚本编写

2.3.1 添加事务

首先需创建事务,事务名可根据实际业务制定,如图所示:

然后可添加待测系统链接,同时可选择 Http 请求类型(GET 或 POST),如图所示:

Page 12: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

12

请求类型如选择的是 GET 方式,直接输入待测系统链接地址即可;如选择的是 POST

方式,需要对待测系统链接地址进行拼接,拼接步骤如下:

用抓包工具(例如 Firebug)捕获待测系统的 POST 请求,如图所示:

查找 POST 请求主体,如图所示:

把 POST 请求主体拼接在待测系统链接地址后面,用“?”连接,拼接完成后输

入到请求链接中,如图所示:

Page 13: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

13

一个脚本里可以包含多个事务,一个事务里可以包含多个链接,事务与链接的顺序可调

整,脚本执行时会按顺序执行所有事务与链接。

如果使用 ECS 私网 IP 进行压测,施压机 IP 会临时写入用户 ECS 安全组,以确保私网

环境的互联互通,压测完毕后施压机 IP 会从 ECS 安全组自动删除,同时请选择与测试机在

同一地域的施压集群,跨地域无法进行私网压测。SLB 无此限制。

注意:用户只能针对在环境管理中已添加的设备进行性能测试,所有压测请求都会指向

这些设备。此外如果在测试脚本里使用公网 IP 地址即代表通过公网进行压测,ECS、SLB

会产生公网流量并按照现有的公网流量计费策略进行计费。

2.3.2 域名绑定

如果待测系统通过域名进行访问,可在此进行域名绑定,一个 IP 地址可绑定多个域名。

注意:IP 地址只能输入环境管理中已添加的 ECS、SLB 的 IP,输入其他 IP 在压测时不

会生效。

Page 14: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

14

2.3.3 参数化

如果想让测试数据更丰富可对脚本进行参数化。参数化步骤如下:

上传参数文件,目前仅支持 csv 格式。参数文件第一行为参数变量,可增加多个参

数变量;从第二行开始为参数值,可增加多个参数值,脚本运行时会读取对应参数

变量的参数值按从上往下的顺序执行。可上传多个参数文件,上传完毕后参数文件

默认为启用。

在请求链接中选中要进行参数化的参数值,然后点击参数化按钮进行参数化。

在参数化窗口选择参数文件及参数变量,参数变量可通过系统自动读取参数文件获

得也可手工输入。

Page 15: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

15

系统自动完成替换,替换格式为“%%_参数文件名:参数变量%%”。

一个参数文件或参数变量可用于多个不同链接里,一个链接也可对应多个不同的参

数文件或参数变量。

2.3.4 是否登录

如果测试场景必须要先登录,可选择启用“是否登录”功能,启用后每次执行时会先进

行登录动作并只执行一次,然后再进行事务里的其他动作。另外,登录动作也可以直接写在

事务里,这样的话每次运行事务都会执行一次登录动作。

Page 16: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

16

2.3.5 快速启动

脚本编写完成后可通过脚本列表上的快速启动运行脚本,系统会自动创建脚本对应的场

景与任务。执行时长默认 1 小时,并发用户数上限 2000。

施压集群地域可选择,如想通过私网进行压测请选择与测试机在同一地域的施压集群并

确保设置的待测系统 IP 为私网地址,如想体验公网压测可任意选择施压集群并确保设置的

待测系统 IP 为公网地址。特别提醒,如果使用公网压测会对 ECS、SLB 产生公网流量,ECS、

SLB 会按照现有的公网流量计费策略进行计费。

2.4 场景制定

2.4.1 常规模式

一次性加载所有并发用户。

Page 17: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

17

2.4.2 梯度模式

分批增加或减少用户。递增用于控制任务启动时用户增加的频率,递减用于任务停止时

用户减少的频率。如果只输入初始用户数、最大用户数没有启用递增、递减,则施压效果与

常规模式一致。

2.4.3 目标模式

达到指定目标阈值后停止压测。例如下图配置运行时的效果是:事务“Login”的响应

时间达到 100ms 或服务器 CPU 占用率达到 80%后停止压测。

Page 18: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

18

2.5 任务维护

2.5.1 新建任务

持续时间最短不能少于 10 分钟,最长不能超过 24 小时。

可设置定时启动任务时间。

Page 19: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

19

需选择待监控的测试机,可以选择多台。

一个任务可添加多个场景。

施压集群地域可选择,如想通过私网进行压测请选择与测试机在同一地域的施压集群并

确保设置的待测系统 IP 为私网地址,如想体验公网压测可任意选择施压集群并确保设

置的待测系统 IP 为公网地址。特别提醒,如果使用公网压测会对 ECS、SLB 产生公网

流量,ECS、SLB 会按照现有的公网流量计费策略进行计费。

2.5.2 任务操作

执行:立即启动任务。

停止:立即停止任务。

增减并发用户数:任务启动后实时增加并发用户数。

实时监控:实时监控性能指标。

删除:只能删除未启动的任务。

取消排期:取消定时任务。

查看日志:进入日志分析页面。

2.6 测试结果

2.6.1 结果详情

测试任务执行完毕后系统会自动生成测试结果报告,由概览、业务指标、ECS 指标、

RDS 指标四部分构成,同时提供查看日志入口。

Page 20: 性能测试服务用户手册 - Alibabaimg.alibaba.com/kf/HTB1uzlJHXXXXXXcaXXX.PRXFXXXJ.pdf7 1.1.5 名词解释 测试机:用户从已购买的ECS、RDS、SLB 中选取能够用于性能测试使用的服务器,添

20

2.6.2 查看日志

日志信息主要由压测日志、压测步骤两部分组成,压测日志显示压测进程的日志信息,

压测步骤显示压测过程信息。

其中压测日志又分为实时查看、日志分析两部分。任务一旦执行可在实时查看中查阅最

新的压测日志,默认保存前后 1000 行。任务运行 5 分钟后可在日志分析中查看更完整的压

测日志,并能根据条件进行日志筛选。注意,日志内容与场景设置中的日志级别保持一致,

所有日志默认保存七天。