初步认识性能测试和完成一次完整的性能测试
上一篇博文主要通过两个例子让测试新手了解一下测试思想,和在做测试之前应该了解人几点,那么我们在如何完成一次完整的性能测试呢?
测试报告是一次完整性能测试的体现,所以,这里我给出一个完整的性能测试报告,相信通过这个报告,我们会整性能测试有个整体的了解,知道我们在以后做性能测试时需要做哪些工作。
注明:1.性能测试报告模板很多,这不是一个空洞的模板,是一个完整的测试报告。
2.由于商业原因,关于项目明,用XXX代替
3.我一直觉得,关于性能工具重要,但不是很重要,要学习性能测试,需要了解的知识面很多,工具只是工具,是为我们服务的,会用性能测试工具并不代表你就会做性能测试了
一、概述
1.目的
本测试报告为XXXX网站的性能测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述网站是否符合需求。
2.背景
XXXX网站,XXXXXX科技有限公司目前正在进行性能测试。考虑到用户数量及数据的增多给服务器造成压力不可估计,因此计划对XXXX网站负载性能测试,在系统配置不变的情况下,在一定时间内,服务器在高负载情况下的性能行为表现,便于对系统环境进行正确的分析及评估。
3.范围
本次测试主要是XXXX网站系统的性能测试。
引用文档
下表列出了执行测试过程所引用的文档:
| 文档名称 | 版本号 | 作者 | 备注 |
| XXX系统压力测试方案 | |||
二、测试概要
1.测试环境
下图描述测试该项目所需要的硬件环境:
| 客户机 Intel(R) Xeon(TM) CUP 3.06GHz 四核至强处理器、内存:4GB RAM NAS服务器 PowerVault(TM) NAS1950, 四核至强处理器 E5430, 2.66GHz, 2x6M缓存,1333MHz前端总线,80W 数量1 8GB(2x4G),DDR-2 667MHz ECC 4R Memory 1TB 3.5-inch 5.4K RPM SATA II Hard Drive with interposer 数量12 数据库服务器 Intel(R) Quad Core E5504 Xeon(R) CPU, 2.0GHz, 4M Cache, 4.86GT/s QPI 数量2 500GB 7.2K RPM Near Line SAS 3.5” Hot Plug H ard Drive 数量2 RAID 8GB Memory(4x2GB),1066MHz, Dual Ranked RDI MMs for 1 Processor |
下图描述测试网络的拓扑结构:
客户机测试环境 服务器测试环境
测试机与被测服务器在同一局域网进行,排除了网速限制及网速度不稳定性。
系统采用B/S架构模式,客户端通过中间件访问数据库,中间件和数据库分别部署在两台服务器上。
2.人力资源
下表列出了所有参与此项目的测试人员:
| 角色 | 资源数量/具体人员 |
| 测试员 | XXXX科技有限公司:虫师 |
测试工作量
| 任务 | 开始时间 | 结束时间 | 总计(天数) | 总计(人时) |
| 计划 | 2011-11-19 | 2011-11-19 | 1 | |
| 实际 | 2011-11-19 | 2011-11-19 | 1 | |
三、测试内容及方法
1.测试需求/目标
在大用户量、数据量的超负荷下,获得服务器运行时的相关数据,从而进行分析,找出系统瓶颈,提高系统的稳定性。
2.测试内容
本次测试主要是对XXX网站“首页登录”、后台“成长记录”及网站信息页面访问操作在大负荷情况下处理数据的能力及承受能力。
测试方法:
| 场景 | 并发用户数量 | 运行场景设置 | 测试点 |
| 登录 | 200 | 40分钟 | 服务器稳定性及操作响应时间 |
注释:所有用户登陆、没有权限限制。
3.测试工具
主要测试工具为:LoadRunner性能测试工具
辅助软件:截图工具,Word
四、测试结果及分析
1.XXX处理性能评估
这次测试属于局域网环境进行,排除了外网的网速限制及不稳定性。
并发登录用户测试
测试内容:
这次测试属于模拟真实环境,加入思考时间(think time);用户输入网址登录首页,加入1~5秒思考时间,输入用户名密码,点击登录按钮。


说明:用户的整个执行流程都录制在Action(循环)部分,所以Vuser_int (开始)和Vuser_end(结束)部分为空。Action_Transaction部分的时间为运行整个Action脚本所需的时间。
整个Action的平均响应时间为:3.945秒;登录操作的平均响应时间为:1.185秒。

说明:所有响应事务数为:8720次(个)
服务器平均每秒响应事件:6.664次/秒;其中登录的平均每秒响应事件为:3.257次/秒
结果分析:
此次测试用户操作流程简单,所以并未对服务器造成高度负载,从NAS服务器服务器曲线图来看,0到70%区间浮动,运行相当平稳。从模拟环境来看,加入1到5的思考时间,更符合真实用户的操作。
从设置200人的压力分析,响应速度很快,完全在用户的感觉快速响应时间内,从整个Action脚本分析,把整个Action时间减去登录时间为:2.76秒,首页的访问时间相比较长,首页部分图片和动画较多,如果用户量访问量继续加大,必定会影响系统性能。
相关文章:
初步认识性能测试和完成一次完整的性能测试
上一篇博文主要通过两个例子让测试新手了解一下测试思想,和在做测试之前应该了解人几点,那么我们在如何完成一次完整的性能测试呢? 测试报告是一次完整性能测试的体现,所以,这里我给出一个完整的性能测试报告ÿ…...
使用插件快速生成代码
使用插件快速生成代码 咋们常说,授人以鱼不如授人以渔,在这里给大家提供一些技巧性的东西,方便一些新手同学可以快速上手,同时,也提高我们的开发兴趣与开发热情! 主要讲什么呢,我们来学一学如何…...
FE_Vue学习笔记 插槽 slot
插槽分为匿名插槽、具名插槽、作用域插槽。子组件中: 匿名插槽只能有一个;可以有多个具名插槽;作用域插槽中可以有匿名插槽和具名插槽。 当项目中一个组件可以多次复用时,我们可以把这个组件封装成单独的.vue文件,从…...
单链表的成环问题
前言:链表成环问题不仅考察双指针的用法,该问题还需要一定的数学推理和分析能力,看似简单的题目实则细思缜密,值得斟酌~ 目录 1.问题背景引入-判断链表是否成环: 1.1.正解:快慢指针 1.2 STL的集合判重 …...
横截面收益率
横截面收益率指的是在经典资产定价模型中,在横截面上线性确定的一个与资产风险匹配的资产收益率。 横截面收益率的预测[1] (一)变量和方法 我们主要使用月度频率数据进行检验。交易数据和公司财务数据来自于CSMAR数据库。CSMAR数据库的收益率调整了送股、配股以及拆…...
C++解析JSON JSONCPP库的使用
首先去GitHub下载JSONCPP的源码: JSonCpp的源码 解压后得到:jsoncpp-master 文件夹 需要的是:jsoncpp-master\src\lib_json 目录下的所有文件和 jsoncpp-master\include\json 目录下的所有文件,在MFC工程目录下新建两个文件夹或…...
不会Elasticsearch标准查询语句,如何分析数仓数据?
1 Elasticsearch的查询语句 ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL,Query DSL是利用Rest API传递JSON格式的请求体(Request Body)数据与ES进行交互,这种方式的丰富查询语法让ES检索变得更强大,更简洁。 1.1 查询预发 # GET /…...
获得GitHub Copilot并结合VS Code使用
一、什么是GitHub Copilot GitHub Copilot是一种基于AI的代码生成工具。它使用OpenAI的GPT(生成式预训练Transformer)技术来提供建议。它可以根据您正在编写的代码上下文建议代码片段甚至整个函数。 要使用GitHub Copilot,您需要在编辑器中…...
Java基础-判断和循环
1 流程控制语句 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。 1.1 流程控制语句分类 顺序结构 判…...
ESP32 FreeRTOS学习总结
2023.5.11 FreeRTOS中文数据手册:https://www.freertos.org/zh-cn-cmn-s/RTOS.html 感谢以下两位B站UP主的教程:孤独的二进制、Michael_ee 1.Task 创建任务常用API: 任务函数描述xTaskCreate()使用动态的方法创建一个任务xTaskCreatePinne…...
uniapp打包ios保姆式教程【最新】
uniapp打包 打包方式ios打包一、前往官网登录二、添加证书 三、添加标识符(Identifiers)四、添加安装ios测试机(Devices)五、获取证书profile文件六、生成并下载p12文件七、开始打包 打包方式 安卓打包直接使用公共测试证书即可打包成功,简单方便,这里我…...
Thread线程学习(2) Linux线程的创建、终止和回收
目录 1.首先要了解什么是线程ID,以及它的作用是什么 2.创建线程 3.终止线程 4.回收线程 5.总结 在Linux系统中,线程是轻量级的执行单元,能够在同一个进程中并发执行。本文将介绍如何在Linux环境下创建、终止和回收线程,并提供…...
linux-项目部署软件安装
安装jdk 操作步骤: 1、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux jdk-8u171-linux-x64.tar.gz 2、解压安装包,命令为tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local 3、配置环境变量,使用vim命令修改/etc/profile文…...
Vue3-黑马(三)
目录: (1)vue3-基础-计算属性 (2) vue3-基础-xhr-基本使用 (3)vue3-基础-xhr-promise改造 (1)vue3-基础-计算属性 上面有重复的代码,用计算属性࿰…...
标准C库函数fprintf(),sprintf(),snprintf()的函数使用方法(往文件中写入数据,将变量的值转换成字符串输出)
前言 如果,想要深入的学习标准C库中函数fprintf(),sprintf(),snprintf(),还是需要去自己阅读Linux系统中的帮助文档。 具体输入命令: man 3 fprintf/sprintf/snprintf即可查阅到完整的资料信息。 fprintf 函数 fprin…...
不到1分钟,帮你剪完旅行vlog,火山引擎全新 AI「神器」真的这么绝?
旅行时,想在社交平台发布一支精美的旅行 vlog,拍摄剪辑需要花费多长时间? 20 分钟?一小时?半天? 在火山引擎算法工程师眼里,可能 1 分钟都用不了,因为会有 AI 替你完成。 没错&#…...
MySQL的概念、编译安装,以及自动补全
一.数据库的基本概念 1、数据(Data) • 描述事物的符号记录 • 包括数字,文字,图形,图像,声音,档案记录等 • 以“记录”形式按统一的格式进行存储 2、表 • 将不同的记录组织在一起 • …...
Jmeter常见问题和工作中遇到的问题解决方法汇总
一、标题Jmeter常见问题解决 1.1 Jmeter如何针对https协议进行接口测试? 解决方法: 协议更改为:https,端口号更改为443;Jmeter默认的是:http协议,端口号是:80 1.2 Jmeter如何解决默…...
蓝牙单连接和多连接知识
蓝牙单连接和多连接知识 生活中蓝牙连接多路蓝牙的情况越来越多,下面介绍下单连接和多连接的知识,供大家参考 一:蓝牙单连接 蓝牙单连接也称为Point-to-Point 点对点连接,是最常见的蓝牙连接场景,如手机<–>车载蓝牙。&…...
Mongodb—查询数据报错 Sort operation used more than the maximum 33554432 bytes of RAM
线上服务的MongoDB中有一个很大的表数据有十几万条。然后报了下面这个错误: “exception”:”org.springframework.data.mongodb.UncategorizedMongoDbException”, “message”:”Query failed with error code 96 and error message ‘Executor error during find command:…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
