基于某业务单登陆场景并发测试实战
创始人
2024-05-26 08:55:17
0

文章目录

  • 1 测试目的
  • 2 测试目标和测试对象
  • 3 名词解释
  • 4 测试说明
  • 5 测试环境和工具
    • 5.1 测试工具
    • 5.2 测试环境
    • 5.3 人力计划
  • 6 测试用例
    • 6.1 方案设计
    • 6.2 接口地址
    • 6.3 接口参数
      • 6.3.1 header参数
      • 6.3.2 请求参数
  • 7 脚本设计
  • 8 监控数据
    • 8.1 虚拟用户并发情况
    • 8.2 事务响应时间
    • 8.3 每秒点击次数
    • 8.4 测试数据总览
    • 8.5 平均每秒点击次数
    • 8.6 事务平均响应时间
    • 8.7 服务器IO和CPU使用率
    • 8.8 服务器CPU变化趋势
    • 8.9 双核CPU使用情况
    • 8.10 内存使用情况
    • 8.11 进程占CPU的使用情况
    • 8.12 各进程使用情况
  • 9 测试分析
  • 10 测试结论
  • 11 下期计划

说明:
1、以下为基于某业务单登陆场景并发测试实战过程,仅供参考;
2、本文为本站首发,转载及他用请注明出处,谢谢。


1 测试目的

通过对某业务用户登录接口进行并发测试,模拟用户真实场景,发现服务器存在的服务瓶颈,辅助提升产品稳定性。

2 测试目标和测试对象

根据产品要求,系统必须支持150用户同时在线(具体参考名词解释内容)。本次测试只测试单登录场景,不任何带业务。

3 名词解释

  • **在线用户数:**用户同时在一定的时间段的在线数量;
  • **并发用户数:**某一时刻同时向服务器发送请求的用户数;
  • 事物:“从用户发送请求->server接受到请求,进行处理->server向DB获取数据->生成用户页面”的过程;
  • **请求响应时间:**是指从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束的过程所耗费的时间;
  • **事物响应时间:**针对用户而言,属于宏观概念,为了向用户说明业务响应时间而提出的,是直接衡量系统性能的参数;
  • **吞吐量:**在以此性能测试过程中网络上传输的数据量的总和;
  • **吞吐率:**吞吐量与传输时间的比值;
  • **每秒点击次数:**运行压测场景过程中虚拟用户每秒向服务器提交的http请求数。

4 测试说明

  • 并发用户数与在线用户数的关系:一般并发用户数与在线用户数的比值为5%-20%;
  • 本次测试并发150,其实按照平均值10%来算,用户在线数为1500个。

5 测试环境和工具

5.1 测试工具

工具版本说明
LoadRunnerV11服务端压测工具
NmonX86_64_centos7服务器指标监控工具
PythonV3.7.0脚本设计语言
PycharmV2021.2脚本编写工具
PostmanV7.34.0http接口调试工具
FiddlerV5.0http接口抓包工具
ProxifierV3.42代理工具辅助抓取接口数据
XshellV6.0ssh客户端连,接服务器工具
XftpV6.0服务器文件传输工具
Navicat Premium具V11.1.8(64bit)数据库脚本导入工

5.2 测试环境

5.3 人力计划

  • 测试人员:测试工程师A
  • 测试周期:2人/天

6 测试用例

6.1 方案设计

登录接口并发150,不带任何业务,使用LoadRunner进行虚拟用户并发压测,使用Nmon监控服务端性能指标,分析测试结果,给出优化建议。

6.2 接口地址

http://192.168.1.5:8001/user/login

6.3 接口参数

6.3.1 header参数

web_add_header("Accept","*/*;");
web_add_header("signature","abcdefg");
web_add_header("trace","abcdefg");
web_add_header("Content-Type","application/json");

6.3.2 请求参数

{\"name\":\"{name}\",\"password\":\"c4ca4238a0b923820dcc509a6f75849b\"}"

其中用户名已被参数化,其中{name}是取得已经提前创建好的用户名,通过dat进行参数化

脚本设计图

7 脚本设计

Action()
{lr_start_transaction("login");web_add_header("Accept", "*/*");web_add_header("signature", "abcdefg");web_add_header("trace", "abcdefg");web_add_header("Content-Type", "application/json");//web_add_header("EnablingCompression", "0");//web_add_header("Expect", "100-continue");web_custom_request("URL = http://192.168.1.5:8001/user/login","Method" = POST,"TargetFrame = ""Resource = 0","RecContentType = text/html","Referer = ","Snapshot = t3.inf","Mode = HTML","Body = {\"name\":\"{name}\",\"password\":\"c4ca4238a0b923820dcc509a6f75849b\"}",LAST);lr_think_time(1);lr_end_transaction("login", LR_AUTO);return 0;
}

8 监控数据

  • 通过nmon进行监控数据获取,获取格式为:nmon –f –t –s 10 –c 30;
  • 通过LoadRunner进行并发压测和部分结果分析;
  • 通过nmon analyser v51_2.xlsm进行nmon结果分析;
  • 并发持续时间300s。

8.1 虚拟用户并发情况

8.2 事务响应时间

8.3 每秒点击次数

8.4 测试数据总览

8.5 平均每秒点击次数

8.6 事务平均响应时间

8.7 服务器IO和CPU使用率

8.8 服务器CPU变化趋势

8.9 双核CPU使用情况

8.10 内存使用情况

8.11 进程占CPU的使用情况

8.12 各进程使用情况

9 测试分析

性能指标预期值实际值结论
虚拟用户并发情况150150PASS
事物响应时间1s1sPASS
每秒点击次数150144PASS
平均每秒点击次数150143PASS
事物平均响应时间<1s0.032sPASS
磁盘IO<80%81%FAILED
CPU使用率<80%40%PASS
内存使用率<80%68%PASS

通过前边的图标数据,我们整理出以上的测试数据,通过分析,除了磁盘IO有瓶颈外,其他指标全部OK。

10 测试结论

  • 经过对单登录接口进行并发150,服务各指标基本满足需要(在2核心8G的情况下),测试通过/不通过
  • 瓶颈点在于磁盘方面,建议以后采用SSD硬盘实体物理机(本次采用机械硬盘+虚拟机)

11 下期计划

登录接口+业务并发测试,满足客户真实的使用场景。

相关内容

热门资讯

求经典台词和经典旁白 求经典台词和经典旁白谁有霹雳布袋戏里的经典对白和经典旁白啊?朋友,你尝过失去的滋味吗? 很多人在即将...
小王子第二章主要内容概括 小王子第二章主要内容概括小王子第二章主要内容概括小王子第二章主要内容概括
爱情睡醒了第15集里刘小贝和项... 爱情睡醒了第15集里刘小贝和项天骐跳舞时唱的那首歌是什么谢谢开始找舞伴的时候是林俊杰的《背对背拥抱》...
世界是什么?世界是什么概念?可... 世界是什么?世界是什么概念?可以干什么?物质的和意识的 除了我们生活的地方 比方说山 河 公路 ...
全职猎人中小杰和奇牙拿一集被抓 全职猎人中小杰和奇牙拿一集被抓动画片是第五十九集,五十八集被发现,五十九被带回基地,六十逃走
“不周山”意思是什么 “不周山”意思是什么快快快快......一座山,神话里被共工撞倒了。
《揭秘》一元一分15张跑得快群... 一元一分麻将群加群主微【ab120590】【tj525555】 【mj120590】等风也等你。喜欢...
玩家必看手机正规红中麻将群@2... 好运连连,全网推荐:(ab120590)(mj120590)【tj525555】-Q号:(QQ443...
始作俑者15张跑的快群@24小... 微信一元麻将群群主微【ab120590】 【tj525555】【mj120590】一元一分群内结算,...
《重大通知》24小时一元红中麻... 加V【ab120590】【tj525555】【mj120590】红中癞子、跑得快,等等,加不上微信就...
盘点一下正规一块红中麻将群@2... 一元一分麻将群加群主微:微【ab120590】 【mj120590】【tj525555】喜欢手机上打...
(免押金)上下分一元一分麻将群... 微【ab120590】 【mj120590】【tj525555】专业麻将群三年房费全网最低,APP苹...
[解读]正规红中麻将跑的快@群... 微信一元麻将群群主微【ab120590】 【tj525555】【mj120590】一元一分群内结算,...
《普及一下》全天24小时红中... 微【ab120590】 【mj120590】【tj525555】专业麻将群三年房费全网最低,APP苹...
优酷视频一元一分正规红中麻将... 好运连连,全网推荐:(ab120590)(mj120590)【tj525555】-Q号:(QQ443...
《火爆》加入附近红中麻将群@(... 群主微【ab120590】 【mj120590】【tj525555】免带押进群,群内跑包包赔支持验证...
《字节跳动》哪里有一元一分红中... 1.进群方式-[ab120590]或者《mj120590》【tj525555】--QQ(QQ4434...
全网普及红中癞子麻将群@202... 好运连连,全网推荐:(ab120590)(mj120590)【tj525555】-Q号:(QQ443...
「独家解读」一元一分麻将群哪里... 1.进群方式《ab120590》或者《mj120590》《tj525555》--QQ(4434063...
通知24小时不熄火跑的快群@2... 1.进群方式《ab120590》或者《mj120590》《tj525555》--QQ(4434063...