Jmeter作为工具的性能测
【原创】相对完整的一套以Jmeter作为工具的性能测试教程(接口性能测试,数据库性能测试以及服务器端性能监测)
准备工作
jmeter3.1,为什么是3.1,因为它是要配合使用的serveragent所支持的最高版本,下载链接 https://pan.baidu.com/s/1dWu5Ym
JMeterPlugins-Extras-1.4.0,服务器监测包(放本地),下载链接 https://pan.baidu.com/s/1i63aaA5
JMeterPlugins-Standard-1.4.0,服务器监测包(放本地),下载链接 https://pan.baidu.com/s/1smbFuK9
severagent,服务器监测包(放服务器),下载链接 https://pan.baidu.com/s/1i6BN3i1
mysql-connector-java-5.1.45,MySQL数据库包,下载链接 https://pan.baidu.com/s/1huhDBfA
设计测试用例
某网站同一时间段内较多的人登录
我们接下来对这个场景做性能测试
具体操作过程
1.先上一个完整的流程图,然后我们来一个一个的分析,往下走
2.http请求默认值,如果下面的接口走的都是相同ip,端口及其他的话就加上,省的后面还要在每个请求上添ip
JDBC Connection Configuration,右击线程组,配置元件下就能找到,他的作用就是连接你需要的数据库,博主这边以mysql为例,
variable name的作用是要配合后面的JDBC request使用可自定义,
databaseURL按博主格式来就行,jdbc:mysql://数据库地址:端口/库名,注意符号都得是英文,我部分地方使用中文是为了表现的更明显
JDBC Driver class 还是按博主的写,这是一个驱动名
username和password就是你数据库的账号和密码
具体配置如下图
3.紧接着就是一个具体的JDBC的请求,这边就可以体现出variable name这个参数的作用, 如果也是写作上面那个‘zhijian’的话,意思就是我连的就是这个库,主要是用作存在多个数据库时的场景,右边的框里就是写你需要的sql语句,同日常数据库查询,注意右下角有个 result variable name,这是一个结果集,用于配合后置处理器BeanShell PostProcessor使用,接下去讲到
4.右击JDBC Request,后置处理器选择BeanShell PostProcessor,然后将博主那段代码拷贝过去,记得修改下里面的参数名,按照你实际数据库字段名修改就行,这个的作用是用来读取和保存你上面sql语句里得到的结果,更好的模拟实际用户登录的场景,接下去的http请求就是普通的请求,参数后面带的值就可以参数化
到这请求就写完了,因为要做性能测试,那可以按照实际的情况进行线程以及线程启动时间的设置等,这个不做扩展,因为要看执行的结果,大家可以在请求后面加上各种监听器
具体配置如下图
5.接下去就是服务器端性能的监测了,把开头提到的JMeterPlugins-Extras-1.4.0和JMeterPlugins-Standard-1.4.0两个jar包都放在 \apache-jmeter-3.1\apache-jmeter-3.1\lib\ext路径下
severagent压缩包放到服务器端并解压,Linux的话就进入包所在的路径,然后运行命令 sh startAgent.sh,windows的话执行cmd运行startAgent.bat,如果成功会有started关键词出来
待成功运行后,回到本机操作jmeter,右击线程组添加jp@gc - PerfMon Metrics Collector监听器,在servers to Monitor栏填写服务器的ip地址,端口号以及想监听的内容,一般推荐是cpu,memory,Disk I/Ohe Network I/O,然后就可以执行自动化脚本了
具体配置如下
按照上面的操作完成并执行后得到的结果就包含了接口性能测试,数据库性能测试以及服务器端性能监测
如果有人碰到监听服务器性能时提示没有端口权限,可以尝试下由默认4444端口换成7777,命令如下java -jar ./CMDRunner.jar --tool PerfMonAgent --udp-port 7777 --tcp-port 7777
如果这篇文章对你有用,记得赞下
Jmeter作为工具的性能测的更多相关文章
- 性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控【转】
概述 本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控. 引言 我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等 ...
- 4月27号开学! 第6期《jmeter实战接口自动化+性能》课程,零基础也能学
2019年 第6期<jmeter实战接口自动化+性能>课程,4月27号开学! 主讲老师:飞天小子 上课方式:QQ群视频在线教学 本期上课时间:4月27号-6月9号,每周六.周日晚上20:0 ...
- apache并发测试工具ab为什么测不准
apache并发测试工具ab为什么测不准 发表于2年前(2013-03-21 12:13) 阅读(1146) | 评论(1) 1人收藏此文章, 我要收藏 赞0 3月21日 深圳 OSC 源创会正在 ...
- JMeter学习工具简单介绍
JMeter学习工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态 ...
- [性能] Bean拷贝工具类性能比较
Bean拷贝工具类性能比较 引言 几年前做过一个项目,接入新的api接口.为了和api实现解耦,决定将api返回的实体类在本地也建一个.这样做有两个好处 可以在api变更字段的时候保持应用稳定性 可以 ...
- 20个linux命令行工具监视性能(下)
昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...
- Jmeter自动化测试工具的简单使用--HTTP测试
Jmeter自动化测试工具的简单应用 1.安装Jmeter 链接: https://pan.baidu.com/s/1mhSzU68 密码: 446z 到这里下载 1.1 jmeter 将下载好的 ...
- Webbench、ab命令:做压力测试的工具和性能的监控工具
DDOS攻击:???DDOS概述:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目 ...
- JMeter测试工具中的参数化使用[函数助手]
下面是我使用JMeter测试工具对某项目中的一个http接口进行测试时的配置参数,使用到了JMeter的随机函数: 在发送POST请求时,需要发送json格式的数据,其中使用到JMeter的" ...
随机推荐
- java9新特性-10-语法改进:UnderScore(下划线)使用的限制
1.使用说明 在java 8 中,标识符可以独立使用“_”来命名: 但是,在java 9 中规定“_”不再可以单独命名标识符了,如果使用,会报错:
- Java类和对象9
(1)创建一个叫做机动车的类:属性:车牌号(String),车速(int),载重量(double)功能:加速(车速自增).减速(车速自减).修改车牌号,查询车的载重量.编写两个构造方法:一个没有形参, ...
- ES6中includes、startsWith、endsWith
es6新增includes:返回布尔值,表示是否找到字符串.startsWith:返回布尔值,表示字符串是否在源字符串的头部位置.endsWith:返回布尔值,表示参数字符串是否在源字符串尾部. va ...
- 细说ReactiveCocoa的冷信号与热信号(一)
热信号:事件触发: 冷信号:订阅出发: 从本质上来说,是信号的存在和产生,是静态信号和动态信号的区别. 背景 ReactiveCocoa(简称RAC)是最初由GitHub团队开发的一套基于Cocoa的 ...
- NodeJS学习笔记 进阶 (8)express+morgan实现日志记录(ok)
个人总结:这篇文章讲解了Express框架中日志记录插件morgan的示例.读完这篇文章需要10分钟 摘选自网络 章节概览 morgan是express默认的日志中间件,也可以脱离express,作为 ...
- vue中使用console.log无效
webpack开发环境下,在vue中使用console.log无效,一直以为webpack出了问题. 使用window.console.log()就能够顺利在浏览器控制台输出了. 以及 在axios请 ...
- Timestamp 转 date
Timestamp startTime = new Timestamp(new Date().getTime());
- Intel Media SDK 性能測试
经过測试,发如今windows 7上 i3 i5 上Intel Media SDK 1080P仅仅能解6路,720P仅仅能解8路, 不知大家有没有測试过?
- [Recompose] Refactor React Render Props to Streaming Props with RxJS and Recompose
This lesson takes the concept of render props and migrates it over to streaming props by keeping the ...
- Pretty UI Design For Android -- 滑动背景、透明列表
本文是从国外一个网上看到的效果.感觉非常不错.就简化了一下代码.拿来用了,先看下效果图: 效果还是非常不错的,以下让我们看看是如何实现的: 看看文字来源,非常easy,是一个数组: <?xml ...