性能测试工具LoadRunner与登录性能测试分析
1. LoadRunner与Jmeter
Jmeter是开源免费的,LoadRunner是商业收费的。
但是LoadRunner具有非常强大的录制功能,具有丰富且灵活的场景,具备丰富的报告性能。
1)Jmeter没有录制功能
2)LoadRunner可以设计非常丰富的测试场景
3)LoadRunner能够产出丰富的测试报告
2. LoadRunner三大组件的关系

Virtual User Generator:VUG用来录制脚本,编写脚本
Controller:设计场景,运行场景
Analysis:产出性能测试报告
3.登录性能测试
3.1 脚本编写
- 访问登录页面

web_url("login","URL=http://127.0.0.1:1080/WebTours/","TargetFrame=","Resource=0","Referer=",LAST);
- 输入账号和密码
登录是formdata形式

web_submit_form("web_submit_form",ITEMDATA,"Name=username", "Value=jojo", ENDITEM,"Name=password", "Value=bean", ENDITEM,LAST);
- 加入事务

事务执行的状态:status
事务的响应时间:Duration
事务的浪费时间:Wasted Time
lr_start_transaction("index");web_url("index","URL=http://127.0.0.1:1080/WebTours/","TargetFrame=","Resource=0","Referer=",LAST);lr_start_transaction("login");web_submit_form("web_submit_form",ITEMDATA,"Name=username", "Value=jojo", ENDITEM,"Name=password", "Value=bean", ENDITEM,LAST);lr_end_transaction("login", LR_AUTO);lr_end_transaction("index", LR_AUTO);
- 集合点
让虚拟用户集合到集合点的时候短暂的暂停,在满足条件后一起执行下一步骤。
lr_rendezvous("login_rendezvous");
- 检查点
需要放在操作请求之前检查。
web_reg_find("Text=to the Web Tours reservation pages.",LAST);
- 参数化


Action()
{lr_start_transaction("index");web_url("index","URL=http://127.0.0.1:1080/WebTours/","TargetFrame=","Resource=0","Referer=",LAST);lr_rendezvous("login_rendezvous");lr_start_transaction("login");web_reg_find("Text=to the Web Tours reservation pages.",LAST);web_submit_form("web_submit_form",ITEMDATA,"Name=username", "Value={username}", ENDITEM,"Name=password", "Value=bean", ENDITEM,LAST);lr_end_transaction("login", LR_AUTO);lr_end_transaction("index", LR_AUTO);return 0;
}
3.2 创建场景

运行场景:

问:明明在脚本中写的2个事务,为啥最后显示有5个事务?

答:因为每个文件就是一个事务,性能测试文件一共有3个,分别为init、action、end。
虚拟用户数增加,点击数也开始增加

3.3 分析报告

对于事务分析这块:一般情况下不关注最大值和最小值,关注平均值和标准偏差。标准偏差值越大说明越不稳定。
测试报表:
①运行的虚拟用户数量

根据运行的虚拟用户数量可以判断在哪个时间段给定服务器的负载
②点击率

通过点击率也可以判断某个时间段内服务器的负载
③吞吐量

吞吐量图和点击数图形状十分相似,但是吞吐量图会稍微滞后一点。
因为吞吐量表示的是响应返回的资源数量,肯定是先有点击率请求再有返回。
如果请求变多,但是吞吐量没啥变化,原因可能是?
答:①服务器响应慢了,来不及响应;
②压力没有到服务器,被拦截了;
③服务器设计了一定的阈值,超过一定的请求就不返回响应(性能调优)
④事务图

⑤平均事务响应时间

虚拟用户在性能测试过程中,每秒在服务器上命中的次数,因为虚拟用户会想服务器发出请求,可以帮助根据命中次数评估虚拟用户生成的负载。
⑥系统资源使用情况
I:Processor Time
CPU的使用时间,被消耗的处理器时间数量
II: Available Mbytes
可用的物理内存。【一般根据这个指标推算已经消耗的物理内存有多大】
已经消耗的物理内存=实际的物理内存-可用的物理内存
相关文章:
性能测试工具LoadRunner与登录性能测试分析
1. LoadRunner与Jmeter Jmeter是开源免费的,LoadRunner是商业收费的。 但是LoadRunner具有非常强大的录制功能,具有丰富且灵活的场景,具备丰富的报告性能。 1)Jmeter没有录制功能 2)LoadRunner可以设计非常丰富的测试…...
作业2024/2/5
第四章 堆与拷贝构造函数 一 、程序阅读题 1、给出下面程序输出结果。 #include <iostream.h> class example {int a; public: example(int b5){ab;} void print(){aa1;cout <<a<<"";} void print()const {cout<<a<<endl;} …...
聊聊并发编程,另送5本Golang并发编程新书
大家好,我是飞哥! 并发编程并不是一个新话题,但是我觉得在近几年以及未来的时间里,并发编程将显得越来越重要。 为什么这样讲,让我们先回到一个基本的问题上来,为什么我们要采用并发编程?关于这…...
Jgit Packfile is truncated解决方案
配置方式解决 这两个配置选项是用于提高 SSH 连接稳定性的 SSH 客户端配置参数,它们被添加到 SSH 配置文件(通常是 ~/.ssh/config)中。这些参数有助于在网络不稳定或者长时间无数据交换时保持 SSH 连接不被断开。下面是每个参数的具体作用&am…...
为后端做准备
这里写目录标题 flask 文件上传与接收flask应答(接收请求(文件、数据)flask请求(上传文件)传递参数和文件 argparse 不从命令行调用参数1、设置default值2、"从命令行传入的参数".split()3、[--input,内容] …...
地下停车场智慧监查系统:科技让停车更智能
随着城市化进程的加速,停车难成为了许多城市居民的痛点。而地下停车场作为解决停车难问题的重要手段,其安全性和便捷性也成为了人们关注的焦点。为了解决这一问题,山海鲸可视化搭建的地下停车场智慧监查系统应运而生,为车主们提供…...
LeetCode每日一题 | 1696. 跳跃游戏 VI
文章目录 题目描述问题分析程序代码 题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i 1, min(…...
大型装备制造企业案例分享——通过CRM系统管理全球业务
本期,小Z为大家带来的CRM管理系统客户案例是某大型装备制造企业运用Zoho CRM管理全球业务的过程分享。该企业是创业板上市公司,业务遍及100多个国家和地区,合作伙伴超百位,拥有覆盖全球的销售和服务网络。截止目前,相继…...
16.docker删除redis缓存数据、redis常用基本命令
1.进入redis容器内部 (1)筛选过滤出redis容器 docker ps | grep "redis"(2)进入redis容器 #说明:d24为redis容器iddocker exec -it d24 /bin/bash2.登陆redis (1) 进入redis命令行界面 redis-cli说明&a…...
【开源】基于JAVA+Vue+SpringBoot的教学资源共享平台
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 类图设计3.3 数据库设计3.3.1 课程档案表3.3.2 课程资源表3.3.3 课程作业表3.3.4 课程评价表 四、系统展…...
如何使用Python + 百度翻译API 自动大批量免费翻译Excel文件中的外语内容
手里有一个Excel文件,包括了大量的亚马逊德语搜索词(关键词),每个单元格1个,需要翻译为中文。但是文件大小超过了10M,不能使用百度或Google免费的文档功能,如果手工一个个的翻译然后粘贴又太麻烦,于是想到用Python加免费翻译API完成。 一、openpyxl库 用Python编辑处…...
ONLYOFFICE:一站式办公,探索高效办公新境界
写在前面ONLYOFFICE 介绍ONLYOFFICE 有哪些优势ONLYOFFICE 文档 8.0 发布如何体验 ONLYOFFICEONLYOFFICE 文档部分页面截图 写在前面 在当今这样一个数字化时代,办公软件已经成为我们日常工作中不可或缺的一部分,熟练使用 Office、WPS、腾讯文档、金山文…...
nginx反向代理----->微服务网关----->具体微服务
今天,做项目的时候做项目的时候配路由出现bug,特此理顺一下从nginx到微服务网关再到微服务这一过程。 nginx配置 upstream admin-gateway{server localhost:21217; }server {listen 8803;location / {root F:/develop/admin-web/;index index.html;}…...
怎么清理电脑内存?详细图文教程分享!
“我的电脑用了才不到一年,现在内存总是不足。想问问大家平常遇到电脑内存不足的情况时有什么好用的清理方法吗?” 随着电脑使用时间的增长,内存占用可能会不断增加,导致电脑运行缓慢。为了保持电脑的良好性能,定期清理…...
CKS1.28【1】kube-bench 修复不安全项
Context 针对 kubeadm 创建的 cluster 运行 CIS 基准测试工具时,发现了多个必须立即解决的问题。 Task 通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。 修复针对 API 服务器发现的所有以下违规行为: 1.2.7 Ensure that the --authoriz…...
6.s081 学习实验记录(五)traps
文章目录 一、RISC-V assembly简介问题 二、Backtrace简介注意实验代码实验结果 三、Alarm简介注意实验代码实验结果 一、RISC-V assembly 简介 git checkout traps,切换到traps分支user/call.c 文件在我们输入 make fs.img 之后会被汇编为 call.asm 文件…...
探索设计模式的魅力:从单一继承到组合模式-软件设计的演变与未来
设计模式专栏:http://t.csdnimg.cn/nolNS 在面对层次结构和树状数据结构的软件设计任务时,我们如何优雅地处理单个对象与组合对象的一致性问题?组合模式(Composite Pattern)为此提供了一种简洁高效的解决方案。通过本…...
文心一言4.0API接入指南
概述 文心一言是百度打造出来的人工智能大语言模型,具备跨模态、跨语言的深度语义理解与生成能力,文心一言有五大能力,文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成,其在搜索问答、内容创作生成、智能办公等众多…...
Python循环语句——while循环的嵌套应用
一、引言 在Python编程中,循环结构是必不可少的。其中,while循环因其灵活性而备受青睐。嵌套while循环,即将一个while循环放置在另一个while循环内部,能让我们编写更为复杂的程序逻辑。本文将详细介绍嵌套while循环的基本概念、使…...
数据库管理-第145期 最强Oracle监控EMCC深入使用-02(20240205)
数据库管理145期 2024-02-05 数据库管理-第145期 最强Oracle监控EMCC深入使用-02(20240205)1 监控方式2 度量配置3 阻塞4 DG监控总结 数据库管理-第145期 最强Oracle监控EMCC深入使用-02(20240205) 作者:胖头鱼的鱼缸&…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
