JMeter性能测试项目实战

JMeter性能测试项目实战

第一章. Linux与MySQL性能理解

1. Linux服务器性能监控与分析

  • 为什么要做服务器性能监控
  • 服务器的性能命令与指标,如内存,CPU等

2. MySQL数据库性能分析

  • 为什么要理解数据库性能
  • 理解高性能的数据架构
  • 理解海量数据下的分库方案
  • MySQL慢查询相关知识点

第二章. 为什么要做服务器性能监控

1. 软件系统架构

1676459489(1).png

2. 综合监控命令–top

  • top命令用法

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

top的使用方式 top [-d number] | top [-bnp]

参数解释:

-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):

?:显示在top当中可以输入的命令 P:以CPU的使用资源排序显示 M:以内存的使用资源排序显示 N:以pid排序显示 T:由进程使用的时间累计排序显示 k:给某一个pid一个信号。可以用来杀死进程 r:给某个pid重新定制一个nice值(即优先级) q:退出top(用ctrl+c也可以退出top)。

top各输出参数含义
下面是使用top命令来进行性能检测的截图:

图一(ubuntu):

图二(centos):

一、top前5行统计信息

第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30
第1行是任务队列信息,其参数如下:

内容含义
05:43:27表示当前时间
up 4:52系统运行时间 格式为时:分
up 4:52系统运行时间 格式为时:分
2 users当前登录用户数
load average: 0.58, 0.41, 0.30系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容含义
159 total进程总数
1 running正在运行的进程数
158 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数
37.0 us用户空间占用CPU百分比
3.7 sy内核空间占用CPU百分比
0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
59.3 id空闲CPU百分比
0.0 wa等待输入输出的CPU时间百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比
0.0 st
第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers
第5行:KiB Swap: 3905532 total, 267544 used, 3637988 free. 617312 cached Mem
第4、5行为内存信息
其参数如下:
内容含义
KiB Mem: 1530752 total物理内存总量
1481968 used使用的物理内存总量
48784 free空闲内存总量
70988 buffers(buff/cache)用作内核缓存的内存量
KiB Swap: 3905532 total交换区总量
267544 used使用的交换区总量
3637988 free空闲交换区总量
617312 cached Mem缓冲的交换区总量。
3156100 avail Mem代表可用于进程下一次分配的物理内存数量
上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

计算可用内存数有一个近似的公式:
第四行的free + 第四行的buffers + 第五行的cached
二、进程信息

内容含义
PID进程id
PPID父进程id
RUSERReal user name
UID进程所有者的用户id
USER进程所有者的用户名
GROUP进程所有者的组名
TTY启动进程的终端名。不是从终端启动的进程则显示为 ?
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
P最后使用的CPU,仅在多CPU环境下有意义
%CPU上次更新到现在的CPU时间占用百分比
TIME进程使用的CPU时间总计,单位秒
TIME+进程使用的CPU时间总计,单位1/100秒
%MEM进程使用的物理内存百分比
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP进程使用的虚拟内存中,被换出的大小,单位kb
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE可执行代码占用的物理内存大小,单位kb
DATA可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR共享内存大小,单位kb
nFLT页面错误次数
nDRT最后一次写入到现在,被修改过的页面数。
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
COMMAND命令名/命令行
WCHAN若该进程在睡眠,则显示睡眠中的系统函数名
Flags任务标志

3. 综合监控命令–free

1、free命令使用
free命令简介
free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存

free命令语法

语法:free [param]
1
param可以为:

-b:以Byte为单位显示内存使用情况;

-k:以KB为单位显示内存使用情况;

-m:以MB为单位显示内存使用情况;

-o:不显示缓冲区调节列;

-s<间隔秒数>:持续观察内存使用状况;

-t:显示内存总和列;

-V:显示版本信息。

free命令使用

Mem:表示物理内存统计

total:表示物理内存总数(total=used+free)

used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)

free:表示未分配的物理内存总数

shared:表示共享内存

buffers:系统分配但未被使用的buffers 数量。

cached:系统分配但未被使用的cache 数量。

-/+ buffers/cache:表示物理内存的缓存统计

(-buffers/cache) 内存数: (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) 内存数: (指的第一部分Mem行中的free + buffers + cached)
(-buffers/cache)表示真正使用的内存数, (+buffers/cache) 表示真正未使用的内存数

Swap:表示硬盘上交换分区的使用情况

4. 综合监控命令–ulimit

  1. ulimit用于显示系统资源限制的信息
  2. 语法:ulimit [param]
  3. param参数可以为:
  • -a  显示目前资源限制的设定。
  • -c <core文件上限>  设定core文件的最大值,单位为区块。
  • -d <数据节区大小>  程序数据节区的最大值,单位为KB。
  • -f <文件大小>  shell所能建立的最大文件,单位为区块。
  • -H  设定资源的硬性限制,也就是管理员所设下的限制。
  • -m <内存大小>  指定可使用内存的上限,单位为KB。
  • -n <文件数目>  指定同一时间最多可开启的文件数。
  • -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
  • -s <堆叠大小>  指定堆叠的上限,单位为KB。
  • -S  设定资源的弹性限制。
  • -t <CPU时间>  指定CPU使用时间的上限,单位为秒。
  • -u <程序数目>  用户最多可开启的程序数目。
  • -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB

image.png

5. 综合监控命令–iostat

iostat用于输出CPU和磁盘io的相关的统计信息

iostat

image.png

其中

avg-cpu:主要的是CPU的信息,如果是多个cpu的话是cpu的平均值,其中重点关注的是iowait,表示的是用于等待io完成请求的时间

  • Device:表示的是各个磁盘io的统计
  • Device:以sdX的形式显示磁盘的名称
  • tps:每秒进程下发的进程的读写请求数量
  • kb_read/s: 每秒从驱动器读入的数据流量以KB为单位
  • kb_wrtn/s: 每秒从驱动器写入的数据量,单位是K
  • kb_read: 读入的数据总量,单位是k
  • kb_wrtn: 写入的数据总量,单位是K

iostat的语法

用法

iostat[选项][<时间间隔>[<次数>]]

-c: 只是单独的输出cpu的信息不包括Device的信息

-d: 单独输出Device的信息不包括CPU的信息

-k/-m: 输出的结果是以kb或者是mb为单位,而不是以扇区数为单位

-x:输出更详细的磁盘io的信息

interval/count: 每次输出的间隔时间。count表示的是输出次数,没有count表示的是循环输出

image.png
各个字段选项的含义:

  • rrqm/s: 每秒对于该设备的读请求合并的次数,文件系统会对读取同块(block)的请求进行合并
  • wrqm/s: 每秒对于该设备写请求的合并次数。
  • r/s: 每秒完成的读次数
  • w/s: 每秒完成的写次数
  • rkb/s: 每秒读的数据量是以kb为单位
  • wkb/s: 每秒写的数据量以kb为单位
  • avgrq-sz:平均每次io操作的数据量单位是扇区为单位
  • avgqu-sz:平均等待的处理io的队列长度
  • await:平均每次io的请求的等待时间(包括请求时间和等待的时间,单位是毫秒)
  • svctm:平均每次io请求的处理时间。单位是毫秒
  • %util:采用周期内用于io的操作的时间比率,即io队列非空的时间比率

重点关注的是:

1、iowait%:表示的是cpu等待的是io时间占整个cpu周期的百分比。如果iowait%的值大于50%或者是明显的高于%system、%user、%idle 表示io可能存在问题

2、avgqu-sz表示的是磁盘io的队列长度,即io的等待个数

3、await:表示的是io请求时间,等待时间和处理时间

4、svctm:表示的是每次请求的处理的时间

5、%util表示的是磁盘的忙碌情况,如果在80%就是磁盘可能处于忙碌的状态

6. 网络监控命令–netstat

1、netstat监控命令

netstat命令是用于监控进出网络的包和网络接口统计的命令行工具

语法:netstat [param]

param参数可以为:

  • -h : 查看帮助
  • -r : 显示路由表
  • -i : 查看网络接口
    2、linux检查网络
    到网络配置文件目录

cd /etc/sysconfig/network-scripts

查看目录下的文件,找到ifcfg开头的文件

ls -ll

en33这个后缀不固定,根据自己系统的查看

vi /etc/sysconfig/network-scripts/ifcfg-en33

修改ONBOOT=yes,ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网络,进行网络通讯其中en33是设备名,设置了linux网络,需要重启网络,可以用命令:

service network restart

第三章. MySQL数据库性能分析

1. 为什么要理解数据库的性能

  • 数据库是承载用户数据的核心,凡是用户的操作几乎都涉及到了数据库的交互
  • 数据库读写速度的快慢,直接影响了用户体验
  1. 数据库的性能测试范围有哪些
  • SQL语句
  • 数据架构设计的合理性
  • 数据库资源使用率
  • 数据库性能指标

2. MySQL高性能数据库架构

  1. 数据库架构演变

1676464439(1).png

1676464483(1).png

1676464528(1).png

1676464562(1).png

1676464598(1).png

3. 海量数据下的分库分表策略

  1. 拆分的原因
  • 单库或者是单表的数据量太大了
  • 由于客观原因硬件无法升级
  1. 数据库拆分方案
    1676464764(1).png
  2. 数据表拆分方案
    1676464869(1).png

4. 慢查询的定义与设置

  1. 什么是慢查询
  • 字面理解:执行速度很慢的查询
  • 执行速度要慢于我们定义的慢查询时间的查询
  • SQL语句的执行时间要大于我们定义的慢查询时间的查询
  1. 慢查询开启
  • 登陆MySQL所在Linux服务器后
  • 编辑mysol配置文件,命令 vim/etc/mysq1/mysq1.conf.d/mysq1d.cnf
  • 找到 slow_query_log=1,打开它的注释
  • 文件中slow_query_1oq_file代表的是慢查询的日志路径。这个配置路径存储若慢查询语句
  • long query_time是定义慢查询的时间,超过这个时间的就是慢查询了
  • 设置1ag-queries-not-using-indexes=1,指的是未使用索引的sql语句也被记录到文件中
  1. 获得慢查询SQL
    命令:mysq1dumpslow
    参数:
    。-s是按照什么方式进行排序
    oc访问次数
    ot查询时间比如:
    1、mysqldumpslow-s cslow.log 返回访问次数最多的慢查询语句
    2、mysgldumpslow -s tslow.log 返回按照时间排序最新的慢查询语句。-t是返回前多少条数据的意思,比如-t5,返回前5条,
    综合语句 mysqldumpslow -sc-t5慢查询日志文件所在路径

第四章. JMeter性能测试项目实战

1. 性能测试需求分析

  1. 掌握用户使用场景
  • 用户重点使用功能
  • 用户重点使用时间段
  1. 制定性能指标

1676468302(1).png

当前注册用户数

  • 数据库中,注册表(用户表)里有多少条数据

PV

  • 英文名:Page View,及页面访问量
  • 每打开一次页面算一次,刷新也算一次

UV

  • 英文名:Unique Vistor(也有理解成User View的),即独立访客数量
  • 一个终端一个访客,以Cookie为判断依据
  1. 其他肯会听到的指标

用户点击量

  • 用户点击网站的次数

用户浏览量

  • 第一种理解:用户在网站查看网页的数量
  • 第二种理解:用户在网站上访问资源的数量
  1. 制定性能指标

用户访问量

  • 有多少用户访问网站
  • 一般以IP为计算依据
  1. 我们的系统新上线没有数据怎么办?
  • 借助三方根据:站长工具:
    https://tool.chinaz.com/
  1. 查看竞品的访问量作为依据
  • 根据老板或项目管理者的预期发展期望

2. 性能指标换算

  1. 核心原则

二八原则

  • 80%的用户会在20%的时间来访问
  • 80%的用户会使用20%的核心功能
  1. 举个例子
    1676469298(1).png

3. 书写性能测试计划书

http://www.fanwen118.com/info_21/fw_3389634.html

第五章. Linux综合监控工具

1. nmon基本介绍与第一种用法

  1. nmon是什么
  • nmon可以实现一个命令轻松监控linux健康状况
  • nmon收集的结果包含了以前我们讲过的所有命令的结果
  • nmon可将监控结果进行保存并进行查看和分析
  1. nomn的安装

apt install nmon
nmon的基本使用
第一种用法:安装后直接运行nmon即可

1676526176(1).png

1. Nmon 安装

根据我的操作系统和linux版本,选择对应的支持版本,如下:

2、下载方式

①、下载到本地,通过FTP上传到服务器

②、命令行 wgethttp://sourceforge.net/projects/nmon/files/nmon16e_mpginc.tar.gz

3、安装

下载完成后,执行以下命令:

#新建一个nmon文件夹
mkdirnmon
#解压
tarxvfznmon16e_mpginc.tar.gz
#改名
mvnmon_x86_64_centos7/root/nmon
#给工具授权
chomd-xnmon777 

4、运行nmon

完成上面的操作后,执行./nmon命令,出现如下界面,说明安装成功:

image.png
常用快捷命令说明:

 #c
 查看CPU相关信息
 #m
 查看内存相关信息
 #d
 查看磁盘相关信息
 #n
 查看网络相关信息
 #t
 查看相关进程信息
 #h
 查看帮助相关信息 

输入如上几种命令,结果如下图显示:

image.png

5、采集数据

nmon通过命令行启动监控,捕获服务器的各项数据,命令如下:

  • ./nmon-ft-s10-c60-m/root/nmon
  • #参数说明
  • -f监控结果以文件形式输出,默认机器名+日期
  • .nmon格式-F指定输出的文件名,比如test.nmon
  • -s指的是采样的频率,单位为毫秒
  • -c指的是采样的次数,即以上面的采样频率采集多少次
  • -m指定生成的文件目录

PS:一般来说不建议对稳定性测试使用nmon监控,因为生成的nmon文件超过10M时,分析工具会由于内存不足导致报错。

如果必须进行的话,建议加大采样频次,降低采样次数(低于330次)。

6、监控结果分析

1、下载分析工具

nmon监控捕获的信息,一般用nmon_analyser来进行分析。nmon_analyser由IBM提供,使用excel的宏命令分析加载生成excel图表,展示资源占用的各项信息。

官网地址:nmon_analyser

image.png
下载你需要的版本,然后解压,解压后出现如下2个文件:

2、使用nmonanalyser工具

打开.xlsm文件,点击Analyzenmondata,打开你需要进行分析的nmon监控文件:

image.png
PS:如果提示分析文件不可用,从“工具-宏-安全性”启动宏,然后再次打开文件,即可使用该分析文件。

3、生成各种图表数据

通过分析工具生成的监控数据结果如下图:

红色标注区域为采集的监控数据,选择自己需要的类型(比如cpu),然后筛选对应的服务Pid(比如1314),选择对应的数据类型(比如CPU使用率占比),通过excel提供的各种图形生成工具,生成直观的分析结果图。比如:

以上,即监控工具nmon的介绍和基本使用方法。

第六章. JMeter业务级脚本开发

1. 启动Jmeter

安装路径–>打开bin–>找到jmeter.bat,双击
image.png

2. 创建脚本

1.新建线程组
TestPlan–>右键–>添加–>线程(用户)–>线程组

image.png

2.添加HTTP信息头管理器
线程组–>右键添加–>配置元件–>HTTP信息头管理器

image.png

将HTTP\HTTPS,请求header值填入该元件,见下图

image.png

3.添加HTTP请求默认值
线程组–>右键添加–>配置元件–>HTTP请求默认值

image.png

填写HTTP\HTTP协议、接口请求地址、端口号

image.png

4.添加HTTP请求
线程组–>右键添加–>取样器–>HTTP请求

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eMwr52Li-1676534549418)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c8ccdaae1df64607921c14a7c43625e7~tplv-k3u1fbpfcp-watermark.image?)]

填写请求方法、路劲、编码、入参参数(key-value格式)

image.png

5.添加察看结果树
HTTP请求–>右键添加–>监听器–>察看结果树

image.png

察看结果树可以察看HTTP请求:请求header、入参、返回结果

image.png

6.添加BeanShell后置处理程序
如果返回结果是乱码的,其中一个处理方式是添加一个BeanShell后置处理程序

image.png

HTTP请求–>右键添加–>后置处理器–>BeanShell后置处理程序

image.png

在BeanShell后置处理程序中填入prev.setDataEncoding(“utf-8”)

image.png
保存脚本,重新运行即可。

7.启动运行脚本

image.png

第七章. 书写性能测试计划书

  1. 性能测试报告组成结构:
  • 项目概况(项目背景、测试目的、测试范围、指标术语定义、测试指标说明、测试责任人、测试时间)
  • 测试概要(测试场景、测试环境、测试类型、测试工具)
  • 测试结果(并发测试结果、压力测试结果、负载测试结果、稳定性测试结果)
  • 风险及建议(如果没有,则写无、如果有,则说明情况即可 )

某某某项目性能测试报告

word 可编辑修改-可在资源里寻找下载C站资源链接

修改记录

版本号发布日期编制人审核人/批准人修改的章节号
1.0YYYY-MM-DD张三
1.1YYYY-MM-DD李四
  • 文章目录

1 性能测试概述

某某某项目性能测试报告

摘 要: 本文档为某某某项目性能测试报告,主要内容包括概述、测试环境、测试方法、测试工具等。主要的读者有性能测试脚本开发人员、性能测试执行人员、性能评估人员、开发人员、项目经理、用户代表等。

缩略语清单:

缩略语全称说明
1 性能测试概述
1.1 背景

这部分写入一些项目的信息即可。

1.2 测试目标

一、本次测试的目标如下表:

测试需求表

image.png
由以上性能需求可知,系统对成功率要求非常高,均为100%,并要求每个进程的处理能力达到20000/分钟。(即在资源保证的前提下,执行一个20000的任务系统需要在1分钟之内完成)

目标1:要求程序A可以处理20000/分钟的业务量;

目标2:要求DB查询程序可以处理20000次/分钟的业务量;

目标3:调度程序的稳定性至关重要;

目标4:***********************************************************

目标5:***********************************************************

​ …

目标n:***********************************************************

2 测试环境
2.1 硬件环境
2.1.1 测试环境拓扑结构图

image.png

2.1.2 测试环境软/硬件配置

据目前已知的测试环境,主要如下:

image.png

测试环境资源配置表

image.png
2.2 软件环境参数配置说明
测试环境部署过程中一些关键参数的配置。例如数据库配置、线程数、使用的第三方工具是否有限制等,都需要在这部分说明。

3 测试环境差异性分析

这部分阐述测试环境与生产环境的差异和区别,并说明可能产生的影响。

4 测试方法
4.1 测试流程

性能测试计划中的测试方法部分。

4.2 测试工具及性能监控工具

性能测试计划中的测试工具和数据采集部分,这部分是对计划中细化。计划中悬而未决的都将在这部分确定和详细描述。

在测试过程中监控以下数据:

资源采集监控表

image.png

测试过程中开发的程序或脚本如下:

开发脚本列表

image.png

5 测试脚本开发

这里主要描述测试过程中使用的测试脚本的开发方法和原则,例如是否进行了参数化、关联以及其他一些业务操作。

6 测试用例执行结果
6.1 A程序
6.1.1 并发用户及稳定性测试

image.png
测试过程记录与分析:

  1. C模式,一个进程配置16个线程的结果:

A. 处理速度为:22419/分,处理速度达到需求。

B. 处理总量为400W,数据包大小为32K。

C. 服务器资源变化情况:CPU和内存变化没有出现异常

资源使用情况如下:

image.png

image.png

image.png

image.png
2. C模式,一个进程32个线程

A. 处理速度为:44388/分,处理速度达到需求。

B. 处理总量为3360200,数据大小为32K。

C. 服务器资源变化情况:CPU和内存变化没有出现异常

资源使用情况如下:

image.png

image.png

image.png

6.2 B程序
6.2.1 并发用户及稳定性测试

image.png
测试过程记录与分析:

C模式,一个进程32个线程
A. 结果描述。。。。。

C模式,10个进程32个线程
A. 结果描述。。。。。

6.3 DB查询服务
6.3.1 场景描述1:一次发送20个查询
该场景是对DB查询的模拟。每次发送20个请求给后台数据库。当TPS(每秒事物通过数)达到19.7时,可以满足每分钟20000的查询请求。

当压力达到TPS=19.7时(每个业务20个查询),结果如下:

整个业务DB查询的平均响应时间0.011s,其中90%的响应时间小于0.013s.

平均响应时间:

image.png

TPS数值:

image.png

数据库服务器资源使用情况:

CPU占用率大约1%(看13:48以前的数据)

image.png

数据库上的IO情况如下:
在这里插入图片描述

网络情况如下,对于100M网络该流量很小

image.png

6.3.2 场景描述2:一次发送1个查询

略!!!

7 性能测试过程中发现的问题
1) 在测试A程序时,发现某些时间的处理量为0,而且某些时间的处理量很少,使得处理速度为7858/分钟,经开发确认代码存在问题并修改代码后,处理速度达到了21830/分钟;

2) 在测试100个B程序并发处理时,发现程序出现了异常,经开发确认代码存在问题后修改了接口程序,异常情况已经不存在;

3) 。。。。。。。。。

8 性能测试结果分析和建议
A****程序结果分析:

1) 在C模式下,同样是单进程32线程,程序处理数据中存在图片和不存在图片结果差距很大。不存在图片的处理速度为15280/分,存在图片的处理速度为2581/分钟。有图片情况下,单独测试转换的速度为4223/分钟。经测试存储的写速度为100MB/s。测试过程中图片最大不超过8K。由次可以计算出存储并非瓶颈。转换缓慢的原因应该在程序本身。需对程序进行进一步的优化;

2) 在R模式下,不生成图片的情况下,1进程32线程和1进程256线程在运行过程中均达到90%左右。处理速度分别为80350/分钟和81603/分钟。由此可见,虽然R模式修改了代码,但至少证明,在被测系统内部,20000/分是可以达到的。同时也可以分析出,在程序充分运行的情况下,256线程并不比32线程更有优势,反而会由于线程过多导致CPU进行更多的上下文切换而占用CPU时间片。

3) …

4)…

综上所述,对于A程序,目前可以确认的结果是:不带图片处理速度至少可以达到20000/分。对于带图片的处理,无法达到20000/分。

DB****查询结果分析:

该项测试结果远远超过需求20000次/秒且响应时间迅速。
综上所述,整理的测试结果如下:

image.png

注:以上结果是在被测系统所运行的软硬件配置下得出的测试结果,无法通过一种环境下的测试结果准确的得出另一环境下的测试结果。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter性能测试实战项目中,可以使用JMeter工具来模拟多个用户同时访问一个网站或应用程序,以评估系统的性能和稳定性。在这个项目中,可以使用JMeter的各种功能和组件来创建测试计划、线程组、取样器、断言等,以模拟真实的用户行为并收集性能指标。 在这个项目中,可以使用引用\[1\]中提供的登录接口的入参来进行身份验证。通过在BeanShell PreProcessor中使用引用\[3\]中的Java代码,可以对用户名和密码进行Base64加密,并将加密后的结果存储在变量"auth"中。这样,在后续的请求中,可以使用这个变量来进行身份验证。 此外,还可以使用JMeter的各种监听器来监控测试过程中的性能指标,如响应时间、吞吐量、错误率等。可以根据需要设置断言来验证响应的正确性,并使用定时器来模拟不同的负载情况。 总之,JMeter性能测试实战项目可以通过模拟真实用户行为、收集性能指标和验证响应的正确性来评估系统的性能和稳定性。可以根据具体的需求和场景来配置和使用JMeter的各种功能和组件。 #### 引用[.reference_title] - *1* [项目实战!手把手教你 Jmeter 性能测试](https://blog.csdn.net/weixin_41754309/article/details/125349650)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [项目实战,手把手教你 Jmeter 性能测试](https://blog.csdn.net/m0_67695717/article/details/129757132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值