2019-08-26

 

公共服务-新对接服务

性能测试


目录

1.        概述.... 3

1.1      背景... 3

1.2      目标... 3

1.3      范围... 3

1.3.1         业务范围... 3

1.4      术语和缩略语... 3

2.        测试内容及测试方法.... 4

2.1      测试内容... 4

2.2      测试策略... 4

2.2.1      性能测试流程... 4

2.2.2      评估测试和性能管理方案的规划实施... 5

2.3      工作目标... 5

3.        测试环境.... 6

3.1      测试环境拓扑图... 6

3.2      测试环境配置... 6

3.3      测试工具及监控工具部署... 6

4.        测试场景.... 6

4.1      基准测试场景... 6

4.2      单交易场景... 6

4.3      疲劳测试场景... 6

5.        性能测试总体报告... 6

Tep:bsp模块... 7

Tep:gis模块... 9

6.        附录.... 10





文件修订历史

修订时间修订概要  作者

  审核批准

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]附录

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,714评论 0 38
  • [if !supportLists]1.1.1[endif]安装环境 redis是C语言开发,安装redis需要先...
    三万_chenbing阅读 574评论 0 1
  • 对于java中的思考的方向,1必须要看前端的页面,对于前端的页面基本的逻辑,如果能理解最好,不理解也要知道几点。 ...
    神尤鲁道夫阅读 797评论 0 0
  • 昨天是声音训练营的开营第二天, 我自己早早起来打了卡,声音气息这东西不练,时间久了也没有了,不会了。自己数枣还是不...
    正是山花烂漫时阅读 138评论 0 0
  • 01 20天的工作结束了,总体来说给人的感觉还算可以。 结束时,主教老师给我发了一个红包,钱岁不多,但意义重大。 ...
    kimchi西西阅读 345评论 0 2