zoukankan      html  css  js  c++  java
  • jmeter压力测试报告

    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

    说明:转载自http://www.cnblogs.com/atwanli/articles/4908475.html,感谢作者分享!

  • 相关阅读:
    [CF1028D] Order book
    初入python,与同学者的第一次见面(小激动)
    jira与mysql的配合搭建调整
    linux内置的审计跟踪工具------last和lastb
    rman
    nginx和apache的一些比较
    NYOJ128前缀式计算
    NYOJ2括号配对问题
    大数加减乘以及高精度幂
    在不同的页面之间通过查询字符串传递信息
  • 原文地址:https://www.cnblogs.com/YatHo/p/6092599.html
Copyright © 2011-2022 走看看