【LoadRunner】博客笔记项目 性能测试报告

文章目录

  • 前言
  • 一、博客笔记项目性能测试介绍
  • 二、编写性能测试脚本(VUG)
  •       2.1 测试脚本编写步骤
  •       2.2 脚本总代码和结果分析
  • 三、创建测试场景(Controller)
  •       3.1 测试场景创建实现步骤
  • 四、生成测试报告(Analysis)
  •       4.1 测试报告
  •       4.2 报表分析
  • 五、遇到的问题
  • 总结


前言


一、博客笔记项目性能测试介绍

使用loadrunner进行简单性能测试:

(1)测试功能:

针对登录、编写并发布博客以及删除博客、注销等功能进行简单的性能测试。

(2)测试进阶:
然后在实现的过程中,插入集合点以及事务等,并通过设置来实现用户的并发操作。


博客笔记页面展示:
博客登录页:

博客列表页:

博客详情页:


二、编写性能测试脚本(VUG)

2.1 测试脚本编写步骤

1、创建项目

由于我们测试的博客系统是一个Web项目,因此需要创建一个Web性能测试脚本。


2、代码编写

(1)访问博客笔记系统登录页面实现:
使用web_url 函数访问到博客笔记系统登录页面,为后续操作做准备。


(2)输入登录账号和密码进入博客详情页

使用web_submit_form函数访问到博客笔记系统详情页面

使用form函数是因为登录页面中NetWork,本web是使用form表单形式进行提交请求的。


(3)性能测试脚本的增强操作

1.添加事务

lr_start_transaction 开启事务
lr_end_transaction 结束事务

2.添加集合点:

lr_rendezvous 集合点设置(若存在事务则在开启前面进行设置)


3.添加检查点:

在页面中查找某元素是否存在(如避免用户的越权行为)
web_reg_find (注意:也是加在前面的,但是如果存在事务则可以是在开启事务之后)


2.2 脚本总代码和结果分析

代码总结:

Action()
{   //开始事务lr_start_transaction("index_trans");//进入博客笔记登录页web_url("index","URL=http://81.70.49.37:8080/BlogSystem/blog_login.html","TargetFrame=","Resource=0","Referer=",LAST);//插入登录集合点lr_rendezvous("login_rendezvous");//设置登录事务lr_start_transaction("login_trans");//插入登录后检查点web_reg_find("Text=注销用户",LAST);//登录后进入博客笔记详情页web_submit_form("login",ITEMDATA,"Name=username", "Value=zhangsan", ENDITEM,"Name=password", "Value=123", ENDITEM,LAST);//结束事务lr_end_transaction("login_trans", LR_AUTO);lr_end_transaction("index_trans", LR_AUTO);return 0;
}

执行结果和分析:


测试脚本通过:


三、创建测试场景(Controller)

3.1 测试场景创建实现步骤

步骤(1)设置虚拟用户并发数量

设置5个虚拟用户,防止电脑崩溃


步骤(2)在Controller中设置场景

1.Action  type lnitialize

设置每隔多久初始化一次


2.Action  type  Start Vusers

没10s上台2个用户。


3.Action  type  Duration

总持续运行时间3分钟


4.Action  type  Stop  Vusers

每8s退出两个用户


步骤(3)开始进行运行,性能测试开始

运行结果图:


四、生成测试报告(Analysis)

4.1 测试报告

测试报告图示:


4.2 报表分析

(1)点击率报表:


(2)吞吐量报表:


(3)平均事务响应时间:


分析结果总结:
① 剩余的物理内存近70%,即使用了近30%的内存,对于简单的博客系统的核心功能来说还是较高的内存使用,还有内存优化的空间。
② 当点击率较大时CPU使用也是达到了一个较高的点,CPU利用率较高。
③ 总之,该性能还有优化的空间。


五、遇到的问题

问题1:

在VUG中编写脚本时,设置检查点运行一直出错,not found。
1)原因:用户名、密码中因为包含中文,中文会被转码,所以在会一直失败。此时登录直接是失败的,并没有跳转到list列表页面。
2)解决方法:使用Xshell在数据库中新增了两条用户数据,全是非中文字符;然后再VUG中修改变量列表,此时重新进行测试,发现运行通过。


问题2:

如果直接设置访问list页面的url,并且在该请求之前设置检查点,此时是可以检查到列表页面的元素的。此时明明没有进行登录,但是为什么直接访问列表的url是可以拿到该页面的元素的呢?
解析:手动请求的haul就相当于是获取资源,所以就能够拿到页面,也就能够获取到页面信息。使用postman进行直接访问测试,发现是可以拿到该页面的相关元素的。

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sql查询语句

SELECT * from student,class 在上一篇博客里我们已经介绍了Sql语句的增删改,以及创建了用来演示增删改的数据库和表,下面我们介绍SQL语句中最重要的查询语句。 增删改博客链接(Sql语句之增删改查(CRUD)-CSDN博客&…

Nacos最新0day漏洞复现

目录 一、漏洞原理 二、版本信息 三、资产测绘 四、poc信息 五、总结 一、漏洞原理 漏洞的核心在于 Nacos 的某些接口没有严格的权限控制,攻击者可以通过特制的请求向 Nacos 服务器发送恶意数据,从而执行任意代码。下载nacos代码搭建环境https://gi…

数字孪生Digital Twin 结合建筑信息模型 BIM 在AIoT 智慧城市建设中Web 可视化大屏实践...

智慧城市建设通过将城市中的建筑、基础设施等构建 BIM 模型,并与实时采集的数据相结合,创建数字孪生体。可以实现对城市能源消耗、交通流量、环境质量等的实时监测和预测,优化城市规划和资源分配。 01 数字孪生 Digital Twin 数字孪生 Digita…

Jira学习

1.Dev OPS DevOps简介 DEV OPS 流程 DEV OPS流程对应工具 最重要的就是持续集成–Jenkins 2.Jira 新建项目

自主升级,平稳过渡!麒麟信安保障长沙市智慧交通发展中心CentOS迁移无忧

长沙市智慧交通发展中心围绕综合交通运输协调体系的构建,实施交通运行的监测、预测和预警,面向公众提供交通信息服务,开展多种运输方式的调度协调,提供交通行政管理和应急处置的信息保障。 该中心目前数据日交换量超2亿条&#x…

社交电商的新篇章:AI智能名片O2O商城小程序与传统微商的区别与融合

摘要 在数字经济蓬勃发展的今天,互联网技术的革新正以前所未有的速度重塑着商业格局。传统微商模式,尽管在初期借助社交媒体迅速崛起,但因其固有的局限性,如产品质量不一、营销手段单一、信任机制脆弱等,逐渐暴露出诸…

Qt程序图标更改以及程序打包

Qt程序图标更改以及程序打包 1 windows1.1 cmake1.1.1 修改.exe程序图标1.1.2 修改显示页面左上角图标 1.2 qmake1.2.1 修改.exe程序图标1.2.2 修改显示页面左上角图标 2 程序打包2.1 MinGW2.2 Visual Studio 3 参考链接 1 windows 1.1 cmake 1.1.1 修改.exe程序图标 获得一个…

【Git分支管理】分支2种合并模式

目录 0.回顾 1.ff模式 2.no-ff模式 3.ff模式转no-ff模式 先提交再合并再提交 0.回顾 前面介绍了两种情况总结如下: master没有修改提交,在dev中修改提交,master和dev合并顺利master修改提交的同时dev也修改提交了,产生合并…

【数据结构】高效解决连通性问题的并查集详解及Python实现

文章目录 1. 并查集:一种高效的数据结构2. 并查集的基本操作与优化2.1 初始化2.2 查找操作与路径压缩2.3 合并操作与按秩合并 3. 并查集的应用3.1 判断连通性3.2 计算连通分量 4. 并查集的实际案例4.1 图的连通性问题4.2 网络连接问题 5. 并查集的优缺点5.1 优点5.2…

BernNet Learning Arbitrary Graph Spectral Filters via Bernstein Approximation

发表于:neurips21 推荐指数: #paper/⭐⭐ 设定:在本文中,h是过滤器. bernstein 多项式逼近(这个证明有点稀里糊涂的,反正我觉得一点点问题,可能因为我水平低) p K ( t ) : ∑ k 0 K θ k ⋅ b k K ( t ) ∑ k 0 K f ( k K ) ⋅ ( K k ) ( 1 − t ) K − k t k . p_K(t):…

大数据hive表和iceberg表格式

iceberg: https://iceberg.apache.org/ iceberg表,是一种面向大型分析数据集的开放表格式,旨在提供可扩展、高效、安全的数据存储和查询解决方案。它支持多种存储后端上的数据操作,并提供 ACID 事务、多版本控制和模式演化等特性&#xff0c…

【常见开源库的二次开发】基于openssl的加密与解密——Base的编解码(二进制转ascll)(二)

目录: 目录: 一、 Base64概述和应用场景 1.1 概述 1.2 应用场景 二、Base16 2.1 Base16编码 2.2 Base16编解码 三、Base64 四、OpenSSL BIO接☐ 4.1 Filter BIOs: 4.2 Source/Sink BIOs: 4.3 应用场景: 4.4 具体使用&…

设计模式学习(二)工厂模式——抽象工厂模式

设计模式学习(二)工厂模式——抽象工厂模式 背景抽象工厂模式优点与缺点参考文章 背景 现在我需要开发一个相机操作模块,它可能在Windows下运行,也可能在Linux下运行。由于在厂家提供的SDK中,Windows下的SDK和Linux下…

【JVM】JVM实战笔记-随笔

JVM实战笔记-随笔 前言字节码如何查看字节码文件jclasslibJavapArthasArthurs监控面板Arthus查看字节码信息 内存调优内存溢出的常见场景解决内存溢出发现问题Top命令VisualVMArthas使用案例 Prometheus Grafana案例 堆内存情况对比内存泄漏的原因:代码中的内存泄漏并发请求问…

代谢组数据分析(十四):代谢物组间网络分析(spearman coefficient)

介绍 在代谢物网络分析领域,研究者采用斯皮尔曼系数来定量评估代谢物之间的相关性。该系数作为一种有效的非参数统计工具,能够揭示代谢物间潜在的关联模式,不受它们分布特性的限制。通过计算所有代谢物配对间的斯皮尔曼系数,研究者能够构建出反映代谢物相互关系的网络。 …

Git钩子Hook功能

💾 Hook 钩子 目录 🔔 简介🔔 常见类型🔔 如何配置🔔 使用场景🔔 示例 🔔 简介 Git Hooks是Git内置的一种机制,允许在特定事件发生时执行自定义脚本。Git Hook可以在客户端和服务器端…

PHP多功能投票微信小程序系统源码

🎉一键决策,尽在掌握!多功能投票小程序,让选择不再纠结🤔 📲【开篇:告别传统,拥抱便捷投票新时代】📲 还在为组织投票活动手忙脚乱?或是面对众多选项犹豫不…

Hadoop发展史和生态圈介绍

目录 一、Hdoop概述 二、Hadoop生态组件 三、大数据的技术生态体系 四、Hadoop发展历史 4.1 概述 4.2 Hadoop历史发展节点 4.2.1 2002-2004年理论阶段 4.2.2 2005-2008年Hadoop的问世与崛起 4.2.3 2009-2017年Hadoop助力大数据行业的发展 4.2.4 至今 五、Hadoop优势特…

华为HCIP Datacom H12-821 卷40

1.单选题 下面是台路由器BGP错误输出信息&#xff0c;关于这段信息描述错误的是 <HUAWEI>display bgp error Error Type :Peer Error Date/Time :2010-03-22 12:40:39 Peer Address :10.1.1.5 Error Info : Incorrect remote AS A、可能是由于邻居…

面向 AI 而生的香橙派 AIpro 开发板开箱实测

前几天搞到一块很牛掰的开发板&#xff0c;是香橙派联合华为精心打造的高性能 AI 开发板 – OrangePi AIpro 开发板。 其搭载了昇腾 AI 处理器&#xff0c;可提供 8TOPS INT8 的计算能力&#xff0c;作为单板硬件设备来说&#xff0c;算力杠杠的了&#xff0c;至于跑 AI 模型性…