消息压力测试报告DOC.docx
《消息压力测试报告DOC.docx》由会员分享,可在线阅读,更多相关《消息压力测试报告DOC.docx(15页珍藏版)》请在冰点文库上搜索。
消息压力测试报告DOC
压力测试报告
虎瑞科技有限公司
2015-05
1概述
1.1简介
软件压力测试是软件质量保证的一项基本行为,是每个重要软件测试工作的一部分。
软件压力测试是指对系统不断施加压力的情况下,根据系统各项指标的变化情况来判断:
1、系统可能存在的瓶颈;
2、系统负载能力;
3、系统正常运行情况下的运行效率。
1.2目的
通过压力测试,判断当前应用环境情况下系统的负载能力,为今后应用范围扩大,用户量上升后,服务器扩容、升级等提供必要的技术支撑,及服务器规划等。
1.3定义
术语
说明
应用服务器
B/S三层架构中的应用处理服务器,提供请求的接收、处理、返回
数据库服务器
B/S三层架构中的数据处理服务器,提供数据的存储和读取等功能
测试机
专门用来压力测试的计算机,通常为常用的PC机
系统用户数
是指实际可能使用应用系统的总用户数
在线用户数
是指当前登录应用系统,处于正在操作或空闲状态的用户数
并发用户数
是指当前登录应用系统,并同时进行操作的用户数
响应时间
是指服务器从接收请求到返回请求之间的处理时间。
压力测试中,忽略网络传输时间及测试机中处理时间,测试机上获得响应时间即作为服务器的响应时间
2测试环境
2.1网络
为了尽量避免网络传输给测试结果带来的影响,应该选取内部局域网作为压力测试的网络环境(但是我们没有专门的局域网,只能用外网测试)。
网络框图如下:
2.2啊里云应用服务器
应用服务器即WEB服务器,是压力测试的主要对象。
应用服务器为目前正式环境中运行的服务器,应用服务器配置不同,其压力测试结果也不一致。
服务器配置如下:
硬件配置
服务器类型
机架式服务器
处理器
Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz
内存
16G
硬盘
268G
……
操作系统
LINUX
其它运行软件
2.3模拟南传服务器
服务器配置如下:
硬件配置
服务器类型
机架式服务器
处理器
Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz
内存
16G
硬盘
268G
……
操作系统
LINUX
数据库系统
其它运行软件
2.4测试机
由于压力测试是对系统负载能力的测试,无法通过真是的环境来进行获取相关指标,因此通过测试机,模拟用户(虚拟用户)实际的操作来进行测试。
测试机即安装压力测试工具,及进行压力测试的客户端机器,一般采用高档次的用户PC机来进行测试。
在压力测试过程中,一般忽略测试机对压力测试结果的影响。
测试机1配置(笔记本):
硬件配置
服务器类型
普通PC
处理器
Intel(R) Core(TM) i5-5200 CPU 2.20GHz
内存
4G
硬盘
500G
……
操作系统
win7_64(旗舰版)
其它运行软件
测试机1配置(台式机):
硬件配置
服务器类型
普通PC
处理器
Intel(R) Core(TM) i5-5200 CPU 2.20GHz
内存
8G
硬盘
500G
……
操作系统
win7_64
其它运行软件
2.5条件与限制
为了尽量保证压力测试结果的真实性,在压力测试期间,做如下的条件限制:
1、尽量在局域网内进行压力测试;
2、数据库服务器除了处理测试应用系统请求外,不进行其它应用请求;
3、测试应用服务器不进行其它的正常业务处理,因此压力测试安排在非工作日进行;
4、压力测试结果忽略测试机、应用服务器、网络等其它额外的开销,不作为系统瓶颈的分析对象。
2.6测试场景
打开工具,导入已编写好的脚本,设置总共登陆0-1000个用户同时登陆。
设置思考时间1S,直到所有用户都保持在线,线上保持20-120分钟
3测试工具
3.1测试工具
测试工具:
LoadRunner11。
3.2工具简介
LoadRunner是通过模拟多个用户同时在应用程序中工作的环境,对应用程序进行负载测试。
当应用程序在负载状态下运行时,LoadRunner会准确评测、监控并分析系统的性能和功能。
LoadRunner使用HTTP/HTTPS协议,主要思想是使用虚拟用户来模拟实际用户对系统施加压力。
模拟图如下:
4被测试数据
消息收发是系统功能模块中实现简单查询功能,服务器不需要进行复杂运算的查询模块。
但也是系统中基本的模块,操作量相对较大,性能的要求较高,对服务器的压力相对较大。
根据测试应用系统中消息的业务场境情况,选取以下功能做为消息类的数据:
A用户手机交互消息
B用户请求系统消息
C南传盒子接收系统消息
D系统发消息到南传盒子
E南传盒子接收手机消息
F手机发消息到南传盒子
G用户请求心跳服务器
5测试策略
5.1测试准备
按照本测试方案及测试计划,准备测试数据接口与被测环境,并在模拟环境中进行测试运行。
由于并发数太大,考虑公司的硬件问题,决定用1-2台普通PC作为负载机。
由开发提供一个测试接口,先单机调试,跑通流程,再联机调试
5.2测试环境搭建及风险
根据测试方法和测试步骤,及测试环境的要求,按照测试计划搭建测试环境,并安排测试人员及工作职责。
Loadrunner是一个收费软件,以级系统和浏览器都存在兼容性,在每一台PC机上安装都需要重新破解调试,最后的联机调试,可能比较费时
风险与问题:
一,测试环境搭建在个人PC机上,运行测试期间,PC机不能用于其它用途,目前没有负载机可用,测试人员的PC机还要用于其它测试用途。
二,如果测试人员的PC机上安装,在破解调试期间,会占用一部分测试人员测试的时间。
5.3压力测试
压力测试分以下几种情况测试:
测试内容
比例
并发数时操作用户数
(最高)
A用户手机交互消息
100%
800
B用户请求系统消息
100%
1000
C南传盒子接收系统消息
100%
1000
D系统发消息到南传盒子
100%
1000
E南传盒子接收手机消息
100%
1000
F手机发消息到南传盒子
100%
1000
G用户请求心跳服务器
100%
2000
压力测试过程中需要记录的性能指标包括:
测试环境
指标
被测机
最大用户
并发数
最小响应时间
最大响应时间
平均响应时间
被测服务器CPU
最小
平均
最大
被测服务器内存消耗
最小值
最大值
平均值
6测试结果
6.1测试结果数据与分析图表
1、手机发消息到南传盒子:
虚拟用户数(连接数)
600
800
1000
平均事务响应时间(S)
0.042
0.154
0.179
平均HTTP响应数
590.3
785.1
989.4
通过事务数/秒
589
784
840
事务通过率(%)
100%
100%
100%
阿里云服务器CPU使用率(%)
18.46
21.73
25.95
吞吐量(K)
111.493
147.873
180.315
2、南传盒子接收手机消息:
虚拟用户数(连接数)
600
800
1000
平均事务响应时间(S)
0.056
0.158
0.185
平均HTTP响应数
580.7
777.2
939.4
通过事务数/秒
580
765
780
事务通过率(%)
100%
100%
100%
南传服务器CPU使用率(%)
19.49
22.73
34.51
吞吐量(K)
115.233
157.973
182.365
3、系统发消息到南传盒子:
虚拟用户数(连接数)
600
800
1000
平均事务响应时间(S)
1.88
2.63
3.65
平均HTTP响应数
570.3
775.5
967.9
通过事务数/秒
560
777
850
事务通过率(%)
100%
100%
100%
阿里云服务器CPU使用率(%)
23.16
25.83
28.91%
吞吐量(K)
121.593
167.873
189.435
4、南传盒子接收系统消息:
虚拟用户数(连接数)
600
800
1000
平均事务响应时间(S)
1.72
1.98
3.75
平均HTTP响应数
598
786.2
921.5
通过事务数/秒
598
785
850
事务通过率(%)
100%
100%
100%
南传服务器CPU使用率(%)
35.39
37.53
43.71
吞吐量(K)
145.263
168.973
192.665
5、手机接收系统消息:
用户数量300(个)
用户数量500(个)
用户数量1000(个)
总时间(S)
85
97
207
最小响应时间(S)
0.003
0.003
0.003
平均响应时间(S)
0.024
0.06
0.085
最大响应时间(S)
1.292
1.399
5.437
90%事务响应时间(S)
0.041
0.131
0.188
CPU占用率(%)
6.83
8.07
18.70
通过事务数/秒
295
489
829
6、用户交互消息测试:
用户数量200*2(个)
用户数量250*2(个)
用户数量300*2(个)
用户数量400*2(个)
总时间
52
69
80
102
最高CPU使用率(%)
55.70
30.70
26.70
28.70
平均CPU使用率(%)
15.30
9.70
16.30
16.70
发最小响应时间(S)
0.027
0.026
0.021
0.014
收最小响应时间(S)
0.017
0.01
0.012
0.008
发平均响应时间(S)
0.422
0.445
0.405
0.37
收平均响应时间(S)
0.208
0.313
0.434
0.227
发最大响应时间(S)
0.969
1.2
1.157
1.482
收最大响应时间(S)
0.697
0.949
1.226
1.277
通过事务数/秒
386
468
589
795
7、南传心跳测试:
虚拟用户数(连接数)
2000
事务通过率(%)
100%
平均事务响应时间(S)
0.028
阿里云服务器CPU使用率(%)
33.70%
平均HTTP响应数
1925.5
南传服务器CPU使用率(%)
18.20%
通过事务数/秒
1905
吞吐量(K)
150.988
6.2评判标准
用户体验参考标准:
业务类别
平均响应时间
满意度(用户感受)
A、C、E、F
<1秒
良好
1-3秒
一般
3秒-5秒
较差
5秒以上
难以忍受
B、D
<2秒
良好
3-5秒
一般
5秒-10秒
较差
10秒以上
难以忍受
6.3测试结果分析
根据以上测试结果可得出以下结论:
业务场境
平均响应时间(S)
极限处理消息事务的能力(个/秒)
A用户手机交互消息
0.29
785
B手机请求系统消息
0.06
829
C南传盒子接收系统消息
2.48
850
D系统发消息到南传盒子
2.70
850
E南传盒子接收手机消息
0.133
780
F手机发消息到南传盒子
0.125
840
G用户请求心跳服务器
0.028
1905
1、目前测试完成后,出现用户与服务器之间的连接不能断开的问题,已经向继龙反馈,原因暂时未知。
2、心跳服务器事务处理能力为1900个/秒左右;
3、消息端服务器的处理能力应在800个/秒左右;
4、若南传总用户数据为16万,活跃率为80%,目前交互消息发送率为5%,则在推送系统消息时,消息端服务器与心跳服务器所承受的压力相同
即心跳服务每天平均并发数:
C1=(160000*80%*4)/(5*14)=7300
心跳服务最大并发数(系统消息推送):
C2=(160000*80%)/5=25600
则所需心跳服务器数:
N=C2/1900=13(台)
消息服务器每天平均并发数:
C3=C1*5%=356
消息服务器最大并发数(推送系统消息):
C4=(160000*80%)/5=25600
则所需消息服务器数:
N=C4/800=32(台)
若为保证最大并发时无压力,在高峰期(系统推送消息)那么心跳服务器在高峰期无作用,并不能起到筛选的作用。
5、因没有制定性能基线,在此不做出论断,本次测试结果仅为后续优化作参考。