Jmeter测试地图服务性能

news2024/11/20 3:20:28

一、前言

Jmeter可以用来模拟多用户来访问http(s)请求,并返回访问结果,而地图服务归根结底仍是个http(s)请求。所以我们可以使用Jmeter对地图服务进行压力测试。

当然地图服务也有着它的特殊性,对于一般的网页服务用户是打开,浏览,跳转,关闭这些步骤。而对于一个地图服务来说用户除了以上的操作外还会不停的去放大缩小、拖拽地图。因此页面上的数据也会不停的改变所以我们要充分考虑其特殊性来设计压力测试。

同时,在这我准备了一份软件测试视频教程(含接口、自动化、性能等),需要的可以直接在下方观看,或者直接关注VX公众号:互联网杂货铺这份测试文档资料也打包在里面啦,免费领取!

软件测试视频教程观看处:

软件测试工程师大忌!盲目自学软件测试真的会毁终生,能救一个是一个......

二、测试步骤

1.创建一个测试计划,自定义其名称和注释,并将测试计划文件保存在文件目录下

图片
截图1:创建测试计划

图片
截图2:保存工程文件到目录

2.添加线程(组),设置线程组参数。线程组模板多样而且支持插件拓展,本文选取steping thread group作为例子

JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组(Thread Group)就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户(virtualusers),这些虚拟用户用来模拟访问被测试系统。

图片
截图3:添加线程组
图片
截图4:设置线程组参数

名称:线程组的名称

注释:线程组注释

采样器错误后执行的动作:分为继续、开始下一个进程循环、停止线程、停止测试、立刻停止测试五种。常用的为继续和停止测试两种。

继续:报错,并进行本线程组的下一个线程测试。
开始下一个进程循环:报错并停止本线程组的测试进入下一个线程组的测试。
停止线程:报错并停止所有的线程组测试。
停止测试:报错并停止测试任务,包括测试数据的收集器的工作。
立刻停止测试:立刻停止jmter向服务器收发请求。

在Steping Thread Group线程组中一下参数需要设置:

This  group will start: 本次测试中将启动的最大线程数。

First wait for: 启动第一个线程之前等待的时间。

Then start: 第一次启动的线程数。

Next add: 启动后每次增加的线程数。

Threads every: 两次增加线程数的时间间隔。

Using  ramp-up: 增加线程数的时间。

Then hold load for: 增加到最大线程数后持续的时间。

Finally stop: 停止过程中每次减小的线程数。

Threads every: 两次减小线程数的时间间隔。

3.添加测试请求,并设置参数

测试请求是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。在ArcGIS Server中指通客户机过一次HTTP(S)向服务端一次请求返回的结果。

图片
截图5:添加http服务请求

图片
截图6:填写测试请求参数

协议:http(s)

服务器名称或IP:填写ArcGIS server对应的服务器名称或IP地址,要保证测试客户机和服务器网络通畅。

端口:所测试http(s)请求的端口号。在ArcGIS Server中http对应6080,https对应6443。

路径:填写测试的http(s)服务端口号后的部分。

4.设置ArcGIS自定义参数

图片
截图7:添加自定义参数

同请求一起发送的参数:

F:返回类型,支持html | json | image | kmz四种格式,我们请求的是图片,选择f=image即可;

Bbox:地图的左下角坐标和右上角坐标,排列顺序是<xmin>,<ymin>, <xmax>, <ymax>。例如bbox=-104,35.6,-94.32,41;

Size:返回图片的大小,宽度和长度,例如:size=600,550;

imageSR:请求图片的坐标系统;

format:请求图片的格式,有以下几种:png | png8 | png24 |jpg | pdf | bmp | gif | svg | png32

layers:请求图片的图层,有四个关键词:show(显示)hide(隐藏)include(包括)exclude(不包括);例如:show:1(表示显示第一层数据),同样hide:1(表示隐藏第一层数据);

layer Definitions:表示获取满足当前条件的数据,相当于where条件或者是Filter;例如:layerdefs=0:COM1='COPPER'(表示第0层,字段COM1中的值等于“COPPER”的所有要素);

transparent:透明度,只对png格式有效;

5.通过Bbox参数,模拟用户移动、放大缩小地图。

Bbox参数可以随http请求发送一个矩形范围,来让服务器返回对应矩形范围内的数据。通过Bbox参数传入不同大小的矩形范围和不用位置的矩形范围来模拟用户不断的放大缩小和拖拽地图。Bbox中参数为地图的左下角坐标和右上角坐标,排列顺序是<xmin>,<ymin>, <xmax>, <ymax>。首先需要一个生成的随机矩形范围的数据,可以是txt或者csv。

图片
截图8:随机网格数据
图片
截图9:添加配置元件引入随机网格数据

填写随机网格数据配置参数

变量名称:CSV文件中的表头名称,用英文逗号隔开

忽略首行:选择true

图片
截图10:填写随机网格配置参数

在设置请求中添加Bbox参数,将四个坐标参数使用${}引用,填写格式为${XMin},${YMin},${XMax},${YMax}。勾选编码选项

图片
截图11:填写Bbox参数

6.添加监听器收集测试结果

监听器是用来对测试结果数据进行处理和可视化展示的一系列元件,如图形结果、查看结果树、聚合报告等都是常用的监听器。由于Jmeter是开源软件,社区中共享了大量的监听器用于测试结果的可视化,此处只介绍最常见的三种其他的有待大家去探索。

图片
截图12:添加监听器

添加监听器,配置监听器输出的文件路径。

图片
截图13:配置监听器输出文件路径

启动jmeter,查看测试结果。

图片
截图14:结果树监听器输出
图片
截图15:结果表监听器输出

三、PerfMon环境配置

压力测试过程中,也需要对被测服务器的负载情况进行监控,以便分析出服务器的性能瓶颈。这里要讲的就是Jmeter提供的PerfMon插件,通过PerfMon,你可以对服务器的CPU、内存、Swap、磁盘I/O、网络I/O等进行监控。

1.为Jmeter安装PerfMon插件

首先给Jmeter安装插件管理器,复制到Jmeter文件夹的lib/ext路径下,重启Jmeter后,在选项菜单中就可以看到plugins-manager了,然后打开插件管理器,查找PerfMon勾上勾选。

图片
截图1:为Jmeter安装PerfMon插件

2.重启Jmeter,在监听器中打开PerfMon

图片
截图2:打开PerfMon监听器

图片
截图3:PerfMon监听器界面

3.下载到服务器端,windows的服务器,运行文件夹中的startAgent.bat,linux的服务器是运行startAgent.sh(需要jar环境支持)

Jmeter ProfMon ServerAgent下载:
https://github.com/undera/perfmon-agent

图片
截图4:在被监控服务器上运行 ServerAgent(windows环境)

4.在Jmeter中配置监控参数

图片
截图5:配置服务器性能监控参数

Host/IP : 填写被监控服务器的IP或域名。

Port :固定为4444。

Metric  to collect :选择要监控的性能指标。包括CUP、内存、网络、IO吞吐等。

5.选择监控结果文件存放的路径,运行测试脚本

图片
截图6:CUP使用率
图片
截图7:内存使用率
图片
截图8:网络吞吐(单位:kbps)

四、生成测试报告

可以将测试结果生产HTML格式的测试报告,这样做优点是可以在没有JAVA环境和Jmeter环境的情况下查看测试结果,方便汇报问题。缺点是报告格式单一且界面设计丑陋。

Jmeter 5.x版本提供了GUI界面用于生成报告,不必再使用命令行,使得操作大大简化。

图片
截图1:打开生成报告工具
图片
截图2:填写参数

Results file :选择监听器生成的测试结果文档,参考本系列技术文档第二章第6节

user.properties  file:Jmeter系统文件,默认路径C:\apache-jmeter-5.1.1\bin\user.properties

Output directory:输出结果文件的路径,要选择一个确定的文件夹。生成的结果报告放入选择的文件夹中

图片
截图3:生成测试报告

五、查看测试报告

找到生成的文件夹,打开index.html

图片
截图4:生成文件夹
图片
截图5:测试报告1
图片
截图6:测试报告2

图片
截图7:测试报告3

六、总结

PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。如需要软件测试学习资料,关注公众号(互联网杂货铺),后台回复1,整理不易,给个关注点个赞吧,谢谢各位大佬!

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 

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

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

相关文章

AES加密技术:原理与应用

一、引言 随着信息技术的飞速发展&#xff0c;数据安全已成为越来越受到重视的领域。加密技术作为保障数据安全的重要手段&#xff0c;在信息安全领域发挥着举足轻重的作用。AES&#xff08;Advanced Encryption Standard&#xff09;作为一种对称加密算法&#xff0c;自1990年…

算法题--排椅子(贪心)

题目链接 code #include<bits/stdc.h> using namespace std;struct node{int indx;//用来存储数组下标int cnt;//用来计数 };bool cmp(node a,node b){ //判断是否是数字最大的一个就是经过最多谈话人的道return a.cnt>b.cnt; } node row[2010],cow[2010];bool cmp…

C++12.1

三种运算符重载&#xff0c;每个至少实现一个运算符的重载 #include <iostream>using namespace std;class Person {friend const Person operator- (const Person &L, const Person &R);friend bool operator<(const Person &L,const Person &R);f…

TZOJ 1420 手机短号

答案&#xff1a; #include <stdio.h> #include <string.h> int main() {int n 0;scanf("%d", &n);while (n--) //输入n次{char phone[12];scanf("%s", phone);printf("6%s\n", phone 6); //跳过数组前6个元素&#…

数据挖掘实战:基于 Python 的个人信贷违约预测

本次分享我们 Python 觅圈的一个练手实战项目&#xff1a;个人信贷违约预测&#xff0c;此项目对于想要学习信贷风控模型的同学非常有帮助。 技术交流 技术要学会交流、分享&#xff0c;不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。 好的文章离不开粉丝的分享、…

win10 修改任务栏颜色 “开始菜单、任务栏和操作中心” 是灰色无法点击,一共就两步,彻底解决有图有真相。

电脑恢复了一下出厂设置、然后任务栏修改要修改一下颜色&#xff0c;之前会后来忘记了&#xff0c;擦。 查了半天文档没用&#xff0c;最后找到官网才算是看到问题解决办法。 问题现象: 解决办法: 往上滑、找到这里 浅色改成深色、然后就可以了&#xff0c;就这么简单。 w…

美丽的时钟

案例绘制一个时钟 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>美丽的时钟</title><script language"javascript">window.onloadfunction(){var clockdocument.getElementById("clock"…

Ubuntu中MySQL安装与使用

一、安装教程&#xff1a;移步 二、通过sql文件创建表格&#xff1a; 首先进入mysql&#xff1a; mysql -u 用户 -p 回车 然后输入密码source sql文件&#xff08;路径&#xff09;;上面是sql语句哈&#xff0c;所以记得加分号。 sql文件部分截图&#xff1a; 创建成功后的部…

【小布_ORACLE笔记】Part11-1--RMAN Backups

Oracle的数据备份于恢复RMAN Backups 学习第11章需要掌握&#xff1a; 一.RMAN的备份类型 二.使用backup命令创建备份集 三.创建备份文件 四.备份归档日志文件 五.使用RMAN的copy命令创建镜像拷贝 文章目录 Oracle的数据备份于恢复RMAN Backups1.RMAN Backup Concepts&#x…

【无标题】mmocr在云服务器上

这里写目录标题 1、创建虚拟环境2、切换和退出conda虚拟环境3. 显示、复制&#xff08;克隆&#xff09;、删除虚拟环境4、删除环境安装指示中 cd进项目文件夹开始训练模型&#xff08;python XXX.py | tee record.txt 记录训练结果&#xff09;如何在Linux服务器上安装Anacond…

Redis部署-主从模式

目录 单点问题 主从模式 解析主从模式 配置redis主从模式 info replication命令查看复制相关的状态 断开复制关系 安全性 只读 传输延迟 拓扑结构 数据同步psync replicationid offset psync运行流程 全量复制流程 无硬盘模式 部分复制流程 积压缓冲区 实时复…

【代码】基于算术优化算法(AOA)优化参数的随机森林(RF)六分类机器学习预测算法/matlab代码

代码名称&#xff1a;基于算术优化算法&#xff08;AOA&#xff09;优化参数的随机森林&#xff08;RF&#xff09;六分类机器学习预测算法/matlab代码 使用算术优化算法&#xff08;AOA&#xff09;优化分类预测模型的参数&#xff0c;收敛性好&#xff0c;准确率提升明显&am…

【Java】I/O流—File类:从0到1的全面解析

&#x1f38a;专栏【Java】 &#x1f33a;每日一句:看不清楚未来时,就比别人坚持久一点 ⭐欢迎并且感谢大家指出我的问题 目录 1.File概述 2.File构造方法 (1).根据文件路径创建文件对象 (2).根据父路径名字符串和子路径名字符串创建对象 (3).根据父路径对应文件对象和子路…

Linux学习第46天:Linux音频驱动试验:总有那么一首歌,会让你泪流满面。

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 大叔来之一个小村庄&#xff0c;上大学以后来到了省城济南。之前高中练习英语听力买过一个随声听&#xff0c;晚上练习听力&#xff0c;怕影响同学休息还买了一个…

超级鹰验证码平台使用 + 案例使用

超级鹰主要是用来识别图片形式的验证码&#xff0c;进行登录验证的。 使用流程&#xff1a; 注册账号领取1000题分&#xff0c;新用户可以享受1000题分的优惠。 进去页面之后&#xff0c;点击开发文档&#xff1a; 这里面有很多语言的使用&#xff0c;这篇博客介绍python的…

Linux中top命令输出日志分析?

以下是对输出的各部分的解释&#xff1a; 09:54:34&#xff1a;系统当前时间。up 161 days, 2:08&#xff1a;系统已经运行了161天2小时8分钟。5 users&#xff1a;有5个用户登录系统。load average: 0.13, 0.08, 0.05&#xff1a;系统的1分钟、5分钟、15分钟的平均负载。负载…

Halcon算子中的slant倾斜hom_mat2d_slant

1.hom_mat2d_slant(HomMat2DIdentity, rad(50), y, 0, 0, HomMat2DSlant) --这个是选择20度和50度的。&#xff08;0&#xff0c; 0&#xff09;点对应的是左上角&#xff0c;50度就是让y轴产生有50度的倾角。 2.hom_mat2d_slant(HomMat2DIdentity, rad(60), x, 0, 0, HomMat2D…

【GraphQL】PostGraphile简介

Introduction to PostGraphile 什么是PostGraphile&#xff1f; 如果您熟悉Spring Data JPA&#xff0c;那么理解PostGraphile将非常容易。但没关系。让我们来看看。PostgreSQL数据库是一个非常流行的高性能应用数据库。ProstGraphile与PostgreSQL数据库和GraphQL配合使用。 …

Springbot启动报错-类文件具有错误的版本 61.0, 应为 52.0

错误再现&#xff1a; 启动Springboot项目时候报错 java: 无法访问org.springframework.boot.SpringApplication 错误的类文件: /D:/Maven/apache-maven-3.6.3/repository/org/springframework/boot/spring-boot/3.0.0/spring-boot-3.0.0.jar!/org/springframework/boot/Sprin…

彰显营销硬实力!皓量科技连续四年入选《中国数字营销生态图》

11月28日&#xff0c;中国商务广告协会数字营销专业委员会、虎啸奖组委会、秒针营销科学院共同发布了《中国数字营销生态图&#xff08;2023版&#xff09;》&#xff08;以下简称生态图&#xff09;。凭借多年在广告营销领域的精耕细作&#xff0c;皓量科技从2020年开始连续4年…