XXX压力测试报告

时间:2015-08-04                                             测试人员:xxx

目录

XXX压力测试报告... 1

一  测试内容... 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压力测试报告 - DEMO

    XXX压力测试报告 时间:2015-08-04                                             测试人员:xxx 目录 XXX压力测试报告... 1 一  测试 ...

  2. 【Jmeter自学】Jmeter性能测试报告(八)

    http://www.cnblogs.com/YatHo/p/6092599.htmlhttp://blog.csdn.net/xiaojianpitt/article/details/4821554 ...

  3. 【转】jmeter压力测试

    jmeter压力测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域, 是压力测试的首选软件 ...

  4. JMeter压力测试以文件的形式

    JMeter压力测试入门教程[图文] 1. 下载JMeter 2. 启动JMeter 3. 运行预准备 4. 运行 文章目录 Apache JMeter是Apache组织开发的基于Java的压力测试工 ...

  5. Jmeter压力测试生成聚合报告

    Jmeter压力测试: 压力测试的场景设置分为三种: 单场景:一个请求(如:单个接口的测试) 混合场景:多个请求(如:购物流程的测试) 压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话, ...

  6. jmeter 压力测试

    转自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter压力测试简单教程(包括服务器状态监控) 2017年09月18 ...

  7. 一次tomcat配置参数调优Jmeter压力测试记录前后对比

    使用的tomcat版本为:apache-tomcat-7.0.53 使用测试工具Jmeter版本为:apache-jmeter-2.12 1.测试前tomat的"server.xml&quo ...

  8. 转载:JMeter压力测试入门教程[图文]

    JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可 ...

  9. Jmeter压力测试入门操作

    Jmeter压力测试入门   1. 前言 Jmeter 是Apache组织开发的基于Java的压力测试工具,开源并且支持多个操作系统,是一款很好的HTTP测试工具.本篇文章主要的目的是帮助没有接触过J ...

随机推荐

  1. python manage.py shell 的增删改查

    python manage.py shell 的增删改查 guoguo-MacBook-Pro:myblog guoguo$ python manage.py shell Python 3.5.1 ( ...

  2. ABAP excel操作 OLE 常用方法和属性

    转自 http://bstone.blog.163.com/blog/static/176820446201172834149199/#userconsent# OLE 常用方法和属性 1.ole中如 ...

  3. redis的安装与类型

    redis Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件 源码安装 redis , 编译安装 为何用源码安装,不用yum安装, 编译安装的优势 ...

  4. TCP/IP协议数据包文件PCAP分析器

    一.设计原理 1.PCAP文件构成 参考http://blog.csdn.net/gulu_gulu_jp/article/details/50494909 PCAP文件由一个PCAP文件头和多个PC ...

  5. Bootstrap简单介绍

    一.一个小知识点 1.截取长屏的操作 2.设置默认格式 3.md,sm, xs 4.空格和没有空格的选择器 二.响应式介绍 - 响应式布局是什么? 同一个网页在不同的终端上呈现不同的布局等 - 响应式 ...

  6. 分享知识-快乐自己:Struts2文件上传及文件下载

    1)Struts2单文件上传 action:类文件 package com.mlq.action; import com.opensymphony.xwork2.ActionSupport; impo ...

  7. DenseNet算法详解——思路就是highway,DneseNet在训练时十分消耗内存

    论文笔记:Densely Connected Convolutional Networks(DenseNet模型详解) 2017年09月28日 11:58:49 阅读数:1814 [ 转载自http: ...

  8. Jmeter-配置原件-HTTP Cookie管理器

    线程组右键 -- 添加  -- 配置原件 -- HTTP Cookie管理器 如何定位到自己的cookie?以Google  Chrome浏览器为例: 1.打开浏览器,打开开发者工具 2.登录站点 3 ...

  9. 【HDU 6126】Give out candies 最小割

    题意 有$n​$个小朋友,给每个人分$1~m​$个糖果,有k个限制 限制形如$(x,y,z)​$ 表示第$x​$个人分到的糖数减去第$y​$个人分到的糖数不大于$z​$,给第$i​$个人$j​$颗糖获 ...

  10. C/C++协程的实现方式总结

    1.利用 C 语言的 setjmp 和 longjmp,函数中使用 static local 的变量来保存协程内部的数据. 函数原型:int setjmp(jmp_buf envbuf); void  ...