XXX压力测试报告

时间:2018-09-05                                             测试人员:xxx

XXX压力测试报告

目录

一  测试内容... 2

二  测试方法... 2

三  测试目标... 2

四  测试环境... 2

五  系统部署... 3

5.1 物理部署... 3

5.2 网络访问... 3

六  性能测试结果与分析... 4

6.1 jmeter集群压测(5进程-每个进行10线程)... 4

6.2 jmeter集群压测(10进程-每个进行5线程)... 7

6.3 jmeter集群压测(10进程-每个进行10线程)... 11

七  结果汇总分析... 13

一  测试内容

本次测试是针对xxx系统进行的压力测试,在交易接口中,只对交易接口进行压力测试,其中涵盖数据验签与签名功能。

二  测试方法

本次采用apache的开源测试工具jmeter,采用本地动态拼装请求数据并通过http协议post方式发送支付请求。并采用650张测试银行卡测试,其中大概有30张存在“无足够的存款”和“受限制的卡”情况。

三  测试目标

1)         获取在单机部署情况下最大TPS值

2)         是否可以达到原来预期值TPS:50

四  测试环境

环境

机器型号

操作系统

硬件cpu

硬件mem

客户端

server2008虚拟机

windows

32核

32G

服务端

HP DL580

linux

64核

126G

由于客户端与服务端的机器性能优秀,暂不会对压测形成瓶颈,该方面影响可以忽略

五  系统部署

5.1 物理部署

5.2 网络访问

六  性能测试结果与分析

6.1 jmeter集群压测(5进程-每个进行10线程)

启5个进程,每个进程启动10个线程,并发为50,项目日志开启info状态

6.1.1 聚合报告

Label

#Samples

Average

Median

90%Line

95%Line

99%Line

Min

Max

Error%

TPS

KB/sec

1

22805

547

366

512

636

5218

150

30003

0.26

65.3

96.5

2

33605

519

362

503

618

5200

150

30003

0.21

66.5

98.5

3

43505

536

365

508

621

5210

150

34899

0.26

65.6

97.1

4

48205

527

365

507

618

5206

150

34899

0.24

65.1

96.3

5

49005

535

364

507

616

5211

150

34899

0.27

63.9

94.5

6

49901

532

364

505

614

5207

150

34899

0.27

61.0

90.2

7

50000

531

363

504

613

5207

150

34899

0.27%

60.9

90.1

6.1.2 每秒的响应分布图

6.1.3 响应时间分布图

6.1.4 请求失败与成功分布图

6.1.5 结果分析

总笔数

Jmeter错误笔数

请求前置响应超长笔数

服务本地处理超长笔数和404

50000

135

120

15

  1. 在使用jmeter压测请求被F5转发到apache server代理上,由于交易处理过程中处理时间过长造成长时间无响应,代理返回502 Proxy Error错误。
  2. 其中请求前置响应超长笔数在向前置获取结果返回的耗时超过3分钟,其余耗时均低于5s,前置接收到的晚,初步判定网络堵塞
  3. 本地业务处理的错误原因为签名、验签、获取数据及请求时404等

6.2 jmeter集群压测(10进程-每个进行5线程)

启10个进程,每个进程启动5个线程,并发为50,项目日志开启info状态

6.2.1 聚合报告

Label

#Samples

Average

Median

90%Line

95%Line

99%Line

Min

Max

Error%

TPS

KB/sec

1

11010

555

348

495

605

5196

148

30003

0.26

68.7

101.5

2

28910

507

333

473

568

5178

55

30015

0.25

76.3

121.9

3

36310

501

332

475

575

5176

55

30031

0.24

77.1

114.0

4

46310

485

331

466

557

5172

55

30031

0.21

78.6

116.3

5

50000

478

326

460

551

5166

55

30031

0.21

72.1

106.7

6.2.2 每秒的响应分布图

6.2.3 响应时间分布图

6.2.4 请求失败与成功分布图

6.2.5 应用系统状态

6.2.6 结果分析

总笔数

Jmeter错误笔数

请求前置响应超长笔数

服务本地处理超长笔数和404

50000

105

92

13

1         在使用jmeter压测请求被F5转发到apache server代理上,由于交易处理过程中处理时间过长造成长时间无响应,代理返回502 Proxy Error错误。

2         其中请求前置响应超长笔数在向前置获取结果返回的耗时超过3分钟,其余耗时均低于5s,前置接收到的晚,初步判定网络堵塞

3         本地业务处理的错误原因为签名、验签、获取数据及请求时404等

6.3 jmeter集群压测(10进程-每个进行10线程)

启10个进程,每个进程启动10个线程,并发为100,项目日志开启info状态

6.3.1 聚合报告

Label

#Samples

Average

Median

90%Line

95%Line

99%Line

Min

Max

Error%

TPS

KB/sec

1

50000

1219

896

1665

2692

5808

209

38306

0.30

68.0

100.5

6.3.2 每秒的响应分布图

6.3.3 响应时间分布图

6.3.4 请求失败与成功分布图

6.3.5 结果分析

总笔数

Jmeter错误笔数

请求前置响应超长笔数

服务本地处理超长笔数和404

50000

150

119

31

1         在使用jmeter压测请求被F5转发到apache server代理上,由于交易处理过程中处理时间过长造成长时间无响应,代理返回502 Proxy Error错误。

2         其中请求前置响应超长笔数在向前置获取结果返回的耗时超过3分钟,其余耗时均低于5s,前置接收到的晚,初步判定网络堵塞

3         本地业务处理的错误原因为签名、验签、获取数据及请求时404等

6.4 jmeter集群压测(30进程-每个进行5线程)

启30个进程,每个进程启动5个线程,并发为150,项目日志开启info状态

6.4.1 聚合报告

Label

#Samples

Average

Median

90%Line

95%Line

99%Line

Min

Max

Error%

TPS

KB/sec

1

150000

1473

1924

1733

1959

6156

222

35107

0.21

89.5

132.2

6.4.2 每秒的响应分布图

6.4.3 响应时间分布图

6.4.4 应用系统状态

6.4.5 客户端系统状态

6.4.6 结果分析

暂未统计

6.5 jmeter集群压测(20进程-每个进行5线程)

启20个进程,每个进程启动5个线程,并发为100,项目日志开启info状态,超时时间2000ms

6.5.1 聚合报告

Label

#Samples

Average

Median

90%Line

95%Line

99%Line

Min

Max

Error%

TPS

KB/sec

1

200000

867

722

1073

1296

5674

1

10053

0.84

92.8

138.6

6.5.2 每秒的响应分布图

6.5.3 响应时间分布图

6.5.4 请求失败与成功分布图

6.5.5 结果分析

总笔数

Jmeter错误笔数

TPS

100000

730

98.0

1         由于本地客户端限定2000毫秒不响应就认为失败,所以失败率偏高

七  结果汇总分析

Label

#Samples

Average

Median

90%Line

95%Line

进程

线程

并发

Error%

TPS

KB/sec

50并发

50000

531

363

504

613

5

10

50

0.27%

60.9

90.1

50并发

50000

478

326

460

551

10

5

50

0.21

72.1

106.7

100并发

50000

1219

896

1665

2692

10

10

100

0.30

68.0

100.5

150并发

150000

1473

1924

1733

1959

30

5

150

0.21

89.5

132.2

100并发

200000

867

722

1073

1296

20

5

100

0.84

92.8

138.6

使用jmeter压测时,如果使用1个进程开多个线程进行压测,一个进程很难快速处理多个线程,造成本地处理浪费大量时间用于调度,最终压力上不去。

当采用集群压测时,启用多个进程调度少量线程,解决本地耗时,TPS明显提升。

在启动10个进程50线程时效果最佳,符合交易每秒钟处理的交易笔数,当提升并发到100时,交易响应时间明显提升。

压测过程中出现的错误主要有:

1、  请求资源404错误

2、  请求前置网络堵塞,每次均为3分钟

3、  本地签名、验签、获取数据耗时过长

最终压测结果TPS:90-100时可保证响应时间不超过2s

jmeter压力测试报告—模板相关推荐

  1. Jmeter压力测试报告案例

    Jmeter压力测试报告案例 <xxxxxx>监测服务压力测试报告 文档修订记录 版本号 日期 修改人 摘要 V1.0 2019年8月14日 xxx 初稿 内容目录 一.测试内容----- ...

  2. jmeter压力测试报告

    出版社智能智造测试报告 (二期版本) 2022年11月 目     录 1. 测试背景 1.1. 项目背景 1.2. 测试目的 1.3. 测试时间 1.4. 测试资源 1.5. 参考资料 2. 测试范 ...

  3. 压力测试工具Apache JMeter:3:压力测试报告的生成方法

    Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件.这篇文章介绍一下使用JMeter进行压力测试的两种压力测试报告生成的方法. 环境准备 关于Apache JMeter ...

  4. CSDN做测试的老师教你Jmeter生成压力测试报告

    根据各大招聘网站上的需求来看,熟悉Jmeter做性能测试已经几乎成为必要条件了. 那么今天在这个给大家安利一波. 怎么使用Jmeter生成压力测试报告呢? 条件准备: 1.Jmeter3.2(推荐使用 ...

  5. 接口测试工具-Jmeter压力测试使用

    接口测试工具-Jmeter压力测试使用 官方描述:jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jm ...

  6. jmeter压力测试linux,JMeter压力测试

    JMeter压力测试 整体目标: 安装虚拟机,并安装一套LAMP(Linux+Apache+Mysql+PHP)待测系统,推荐ECShop(http://www.ecshop.com),基于此进行Jm ...

  7. 软件性能测试报告收费,软件性能测试报告模板

    对于测试同学,编写软件测试报告是常有的事情~ 那么,软件性能测试报告模板一般需要包含哪些要点呢? 1.测试环境机器配置 包括机器数和具体的配置,例如:单台机器,配置为4核8G内存 2.线上环境机器配置 ...

  8. jmeter压力测试动态修改并发参数

    Apache JMeter 是 Apache 旗下的开源压测工具,创建于 1999 年初,迄今已有超过 20 年历史.JMeter 功能丰富,社区(用户群体)庞大,是主流开源压测工具之一. 性能测试通 ...

  9. 百度搜索引擎压力测试报告

    百度搜索引擎压力测试报告 一 概述 1.1 目的 本测试报告为百度搜索引擎的性能测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述网站是否符合需求. 1.2 背景 考虑到用户数量及数据的增多给 ...

  10. jmeter压力测试过程中遇到过的问题及解决方法(包括jmeter和服务程序)

    1. 关于jmeter相关的问题 1.1 为什么要编写接口测试代码? 因为有些接口需要特殊格式的参数,比如需要特定的加密处理和解密处理,有的接口参数是动态生成的,有的接口参数是上一个接口返回的,所以测 ...

最新文章

  1. python 动态编译代码_使用PyQt(Python+Qt)+动态编译36行代码实现的计算器
  2. Nature:初步探索限制饮食如何影响肿瘤生长
  3. 使用literal或者绑定变量执行SAP HANA SQL语句
  4. collections系列
  5. CE+OD无法附加游戏进程的破解方法 来吧 别在为这烦恼了
  6. Checkpoint--实现步骤
  7. 32时间片轮转_【解惑】到底是quot;时间片quot;?还是quot;分时轮询quot;?
  8. avalon 笔记---Mr.wing
  9. 修复easyMule for Mac 2.0崩溃造成的任务丢失
  10. 【AD封装】插件电感,变压器(带3D)
  11. 【矩阵计算】特征值计算
  12. 通俗易懂讲解 CAP理论
  13. 送学妹的生日礼物~ 制作一个超浪漫的告白3D相册(HTML+CSS+JavaScript)
  14. java面试-jvm
  15. [21S01][1136] Column count doesn‘t match value count at row 1 报错分析
  16. 数据挖掘著名案例——啤酒与尿布
  17. Java猿社区—Redis一篇系列—第二章、Redis入门和安装
  18. 毕业设计—图书馆预约系统
  19. 杭电1276:士兵队列训练问题
  20. Switch游戏机底座方案

热门文章

  1. Vue.js与Node.js一起打造一款属于自己的音乐App(收藏)
  2. Masked Arrays(numpy arrays掩码)针对数据中存在无效或者确实数据
  3. Paper翻译:《MobileNet Based Apple Leaf Diseases Identification》
  4. Coverage [minx,miny,maxx,maxy] is [12, 4, 13, 6, 3], index [x,y,z] is [2, 5, 3]错误原因及其解决方式...
  5. 记一次艰苦的刷机历程,nexus7 刷cm12 nightly版,刷入gapps
  6. 机房动环监控系统方案
  7. GDT 培训 | 模拟第一基准,第二基准和第三基准的拟合
  8. 大众-OBD-接口位置
  9. 计算机毕业设计Java校园疫情信息管理系统(源码+系统+mysql数据库+Lw文档)
  10. JS 事件捕获、事件冒泡以及事件委托图文详解