公共服务-新对接服务
性能测试
目录
文件修订历史
修订时间修订概要 作者
审核批准
2019-08-12新建谢文辉
模板修订历史
版本
生效时间变更概要 作者
审核批准
目录
1. 概述.................................................................... 5
1.1 背景............................................................................ 5
1.2 目标............................................................................ 5
1.3 范围............................................................................ 5
1.3.1 业务范围...................................................................... 5
1.4 术语和缩略语.................................................................... 5
2. 测试内容及测试方法........................................................ 6
2.1 测试内容........................................................................ 6
2.2 测试策略........................................................................ 6
2.2.1 性能测试流程.................................................................. 6
2.2.3 评估测试和性能管理方案的规划实施............................................... 8
2.3 工作目标........................................................................ 8
3. 测试环境................................................................ 8
3.1 测试环境拓扑图.................................................................. 8
3.2 测试环境配置.................................................................... 9
3.3 测试工具及监控工具部署......................................................... 10
4. 测试场景............................................................... 10
4.1 基准测试场景................................................................... 11
4.2 单交易场景..................................................................... 11
4.4 疲劳测试场景................................................................... 12
5. 性能测试报告
Tep.bsp 11
Tep.gis 11
6. 附录................................................................... 23
[if !supportLists]1. [endif]概述
本文档为公共服务-新对接服务系统性能测试方案,其内容用于描述本次性能测试服务的实施方案,以及测试项目组织实施的技术规范。
本文档中描述的内容,旨在
[if !supportLists]Ø [endif]为新对接系统的性能状态进行客观评估,提供性能数据;
[if !supportLists]Ø [endif]为性能测试工作规定有效、完整的实施方案;
[if !supportLists]Ø [endif]为性能测试工作规定具体的任务、角色分工、进度计划上的安排;
[if !supportLists]1.1 [endif]背景
满足新对接服务的年度计划战略,根据各对接接口调用频率,双十一应对高并发事物处理能力,对其进行性能测试,分析瓶颈进行调优,以应对满足线上生产。
[if !supportLists]1.2 [endif]预期目标
预期目标事物数根据2/8原则计算,即80%的数据产生在20%的时间里。
Bsp下单以期望双十一一天10小时产生500W事物量,其中400W会集中在2个小时内产生,即需要达到555tps/s,成功率需为100%;
Gis地址解析目前线上数据为70W算,需要达到目前的3倍也就是210W/天,其中170W会在2小时内产生,预期性能指标为237tps/s,成功率为100%;
响应时间为1.5s,程序没有大的性能漏洞;
系统性能能够满足基本线上要求
[if !supportLists]1.3 [endif]范围
[if !supportLists]1.3.1 [endif]业务范围
Gis、Bsp、message
[if !supportLists]1.4 [endif]术语和缩略语
术语/缩略词说明
TPS每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位;
QPS每秒查询率,指服务器在单位时间内(秒)处理的查询请求速率;
连接池是一个进程,多个连接在一个进程中存储、管理,它是共享、可复用的;
思考时间思考时间,在性能测试中,模拟用户的真实操作场景。用户操作的事务与事务之间是有一定间隔的,引入这个概念是为了并发测试(有交叉业务场景)时,业务场景比率更符合真实业务场景;
[if !supportLists]2. [endif]测试内容及测试方法
此次压力测试实施是对中台系统性能进行测试评估的过程,我们将依据原公共服务系统的实际运行现状,抽取对系统性能产生较大影响的业务交易,模拟最终用户的操作行为,构建一个与生产实际相近的压力仿真模型(场景),对系统实施压力测试,以此评判系统的整体性能的实际性能表现。
[if !supportLists]2.1 [endif]测试内容
根据与相关人员的沟通和交流,此期工程上线的目标和期限,通过对现有系统运行数据的统计,结合系统的设计目标和业务特点,遵循着发生频率高、对系统或数据库性能影响大、关键和核心业务等原则,本期测试内容重点为模拟真实场景通过网关请求bsp模块及级别的gis查询解析功能。
[if !supportLists]2.2 [endif]测试策略
测试依赖:因对接接口都调用于第三方,因此使用python编写Mock Server作为挡板,模拟真实场景,mock中配置响应时间为1.2s – 2s 之间;采用分布式集群 把请求轮询的方式分发mock 压力;
测试工具:采用业界成熟的自动化性能测试工具JmeTer 5.1,采用jmeter分布式,windows机器为master启动测试脚本,收集测试数据,linux机器为salva机;
测试依据:通过创建压力测试程序、构建压力测试模型,对被测试系统实施压力测试,最后形成压力测试结果分析报告。
[if !supportLists]2.2.1 [endif]性能测试流程
通过自动化测试工具模拟最终用户向服务器发起业务请求,进行性能测试。通过测试工具对测试过程中系统各点进行监控,每一次测试结束后工具自动生成结果报告供分析使用。
[if !vml]
[endif]
[if !supportLists]2.2.2 [endif]评估测试和性能管理方案的规划实施
[if !supportLists]q [endif]测试用例的建立
在性能评估的规划阶段,通过把以文档形式所指定的关键业务转化为实际可实施的测试用例,同时分配所采集的业务数据。
[if !supportLists]q [endif]测试场景的设置
把关键业务的分布转化为评估测试的具体实施设置。
[if !supportLists]q [endif]环境配置和系统就绪
在实施的开始之前,有必要保证被测应用系统是可用和经历了功能和稳定性测试的,同时功能支持必须贯穿在整个可能影响测试实施的过程。
[if !supportLists]q [endif]测试实施和性能监控
按指定的流程事实评估测试,并根据关键业务对整个应用系统的影响和已有的性能参照点,在评估测试当时进行实时的性能监控。
[if !supportLists]q [endif]实时预警和被测试系统的避险
针对在线系统的特定,在对被测试系统实施评估时必须有严格的实时预警和保护的自动控制,一旦被测试应用有异常的趋势和可能,必须有及时的避险机制。
[if !supportLists]2.3 [endif]工作目标
[if !supportLists]Ø [endif]构建与预期环境相匹配的基础数据环境
[if !supportLists]Ø [endif]根据系统性能需求设计性能测试方案,定义业务模型及测试场景
[if !supportLists]Ø [endif]执行性能测试,获取参测系统的各项性能指标
[if !supportLists]Ø [endif]对比各参测系统的性能指标,制作综合评测报告,为评测系统性能及性能优化提供参考依据。
[if !supportLists]Ø [endif]检验系统上线前,程序是否有大的并发漏洞,和性能瓶颈
[if !supportLists]3. [endif]测试环境
[if !supportLists]3.1 [endif]测试环境拓扑图
[if !supportLists]3.2 [endif]测试环境配置
单机为4个核,4G内存,两个服务共配置四台机器,每一单机都配置core 和 gaway两个服务;
[if !supportLists]3.3 [endif]测试工具及监控工具部署
测试工具:采用业界成熟的自动化性能测试工具JmeTer 5.1,采用jmeter分布式,windows机器为master启动测试脚本,收集测试数据,linux机器为salva机;
服务器监控:服务器监控采用Jmeter监控插件ServerAgent,结合PerfMon Metrics Collector 达到监控数据收集,数据可视化的效果;
[if !supportLists]4. [endif]测试场景
分析新对接服务系统上线后所面临的性能压力的来源和类别,并且通过分析历史交易数据来确定各种性能在整个系统压力所占比例。例如确定前台应用子系统的业务类别和并发比例,后台自动批处理的数据数量和类别等。最终目的是建立一个能够逼真模拟公共服务系统实际运行场景的业务模型。选择如下交易类型:
根据各对接模块,对接口的请求数,预期目标数,进行划分模型;
[if !supportLists]4.1 [endif]基准测试场景
基准测试场景用来验证系统功能完整性和可用性,以及测试脚本的可重复性:
[if !supportLists]4.2 [endif]单交易场景
单交易测试场景主要是为了检验各功能模块是否有严重的性能障碍,以及检验各自交易单独的性能处理能力的最大值:
[if !supportLists]4.3 [endif]疲劳测试场景
采用选择并发用户数,持续执行X时长
[if !supportLists]5. [endif]性能测试报告
本次性能测试中,所测接口在响应时间上都符合预期,在1.5内完成响应;
bsp下单接口,单appId当并发数达到750线程,持续请求时间为60s时,响应时间为1.2s,TPS达到 650tps/s,错误率为0%;
bsp下单接口,多appId当线程数达到1000,持续请求时间为60s时,响应时间为1.7s,TPS为530tps/s,错误率为0%;
bsp下单接口,单appId线程数为700线程,持续请求时间为21分钟,响应时间为1.3s,持续时间里总请求数为759822 个请求样本,TPS为 609每秒,错误率为0%;
gis 地址解析接口,并发线程数达到 750,持续请求60s,响应时间为1.3s,错误率为0%;
所以,测试结果为公共服务-新对接服务系统是满足预期性能指标;
Tep:bsp模块
[if !vml]
[endif]
[if !vml]
[endif] [if !vml]
[endif]
Tep:gis模块
[if !vml]
[endif]
[if !vml]
[endif]
[if !supportLists]6. [endif]附录
无