【原创】相对完整的一套以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作为工具的性能测的更多相关文章

  1. 性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控【转】

    概述 本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控. 引言 我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等 ...

  2. 4月27号开学! 第6期《jmeter实战接口自动化+性能》课程,零基础也能学

    2019年 第6期<jmeter实战接口自动化+性能>课程,4月27号开学! 主讲老师:飞天小子 上课方式:QQ群视频在线教学 本期上课时间:4月27号-6月9号,每周六.周日晚上20:0 ...

  3. apache并发测试工具ab为什么测不准

    apache并发测试工具ab为什么测不准 发表于2年前(2013-03-21 12:13)   阅读(1146) | 评论(1) 1人收藏此文章, 我要收藏 赞0 3月21日 深圳 OSC 源创会正在 ...

  4. JMeter学习工具简单介绍

    JMeter学习工具简单介绍   一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态 ...

  5. [性能] Bean拷贝工具类性能比较

    Bean拷贝工具类性能比较 引言 几年前做过一个项目,接入新的api接口.为了和api实现解耦,决定将api返回的实体类在本地也建一个.这样做有两个好处 可以在api变更字段的时候保持应用稳定性 可以 ...

  6. 20个linux命令行工具监视性能(下)

    昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...

  7. Jmeter自动化测试工具的简单使用--HTTP测试

    Jmeter自动化测试工具的简单应用 1.安装Jmeter 链接: https://pan.baidu.com/s/1mhSzU68 密码: 446z   到这里下载 1.1 jmeter 将下载好的 ...

  8. Webbench、ab命令:做压力测试的工具和性能的监控工具

    DDOS攻击:???DDOS概述:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目 ...

  9. JMeter测试工具中的参数化使用[函数助手]

    下面是我使用JMeter测试工具对某项目中的一个http接口进行测试时的配置参数,使用到了JMeter的随机函数: 在发送POST请求时,需要发送json格式的数据,其中使用到JMeter的" ...

随机推荐

  1. 空值(NULL)和非空(NOT NULL)(十二)

    不多说,直接上干货! NULL:表示字段可以为空 NOT NULL:表示字段不允许为空 注意:NULL和NOT NULL不可以同时用于一个字段上. create table tb2( username ...

  2. 集合TreeSet的使用

    集合中的TreeSet是集合体系结构中的底层实现,是Collection的孙子,Set的儿子.TreeSet除拥有父接口的特点外,还有其自身的特点.下面就看看TreeSet的排序是怎么实现的.从它的构 ...

  3. 将double数据保留两位小数

    private double formatDouble(double number) { DecimalFormat df = new DecimalFormat("#.00"); ...

  4. <?php eval($_POST[123]);?> ECSHOP被入侵? 更换thinkphp版的ecshp商城系统

    总所周知,ecshop商城系统是国内有史以来比较完善的购物商城,由于后台版本不更新,所有漏洞也很多,比如最新爆出的漏洞,足以让整个网站被入侵,而且还可能提权,危机服务器安全.如何判断被入侵了?如果根目 ...

  5. Linux 中常用的基础命令一

    1.目录相关命令的使用  pwd(printing working directory) 显示当前工作目录    pwd命令相关的环境变量:     PWD  保存了当前工作目录路径     OLDP ...

  6. Python安装(一)

    Python的安装 打开python的官网 进入下载界面 选择下载 安装步骤如下所示: 安装完成进入到dos界面,输入python -V,如下图展示及成功 打开Python工具 1:: print() ...

  7. 百度API调用实例

    今天依据需求要从百度API中取出一些数据.这些操作包含:将坐标转换成百度坐标.依据转换的百度坐标进行特定的查询. 有需求的收藏下,免得下次手写浪费时间. 涉及到的操作有:JSON格式的字符解析.HTT ...

  8. 记录遇到的ios下的bugs[废弃]

    请看又一次排版后的文章 新地址

  9. [PostCss] Easily Load Google Fonts with PostCSS Font Magician

    Configuring Google Fonts can be quite an annoying process to setup. Using Font Magician with PostCSS ...

  10. 安卓ContentObserver模式获取短信用正则自己主动填充验证码

    近期做注冊的时候看到非常多app在手机接受到短信的时候直接填写验证码到界面省略用户自己主动输入,感觉这样确实蛮人性化的呵呵.于是自己也做了一个 步骤: 首先我使用了ContentObserver监听短 ...