Jmeter学习

官网下载的Jmeter5.1的包,Ubuntu控制台运行./jmeter.sh即可运行。简体中文版。

在了解常用元件后,再记录一些常用手段

1.集合点,瞬间施压,峰值测试

在添加->定时器->同步定时器,可以设置让一定数量的线程于同一时刻发起的请求。

2.参数化,不同输入参数

可以添加->配置元件->CSV数据文件设置,关于CSV,一种格式 :

属性值1,属性值2,属性值3

数据1,数据2,数据3

... ...

3.响应断言,根据返回结果判断响应是否正确

可以“添加->断言->响应断言”,在“添加->监听->断言结果”设置自动判断

4.结果显示

可以“添加->监听->查看结果树”,聚合报告,图形结果。

5.插件扩展

想试验监控CPU、内存资源的插件,安装使用Plugins manager,搜索standard

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

关于控件:https://www.cnblogs.com/guoyuanping/p/8284320.html

ServerAgent.zip在服务器端解压可用,运行startAgent.sh/startAgent.bat,就在本地机器上尝试了一下,生成资源监控曲线图。

 

关于逻辑控制器:

只能在"线程组"中添加,在尝试的过程中发现逻辑控制器要求填入函数表达式判断真假,但光用函数生成器生成的

${__jexl3(${变量名}==xxxxxxx,)}不管用,添加单引号:${__jexl3('${变量名}'=='xxxxxxx',)} 才运行成功。

 

分布式集群测试:个人理解就是:一台机器(主机server)  拖  N台机器(从机agent)一起跑测试用例。避免单台电脑无法满足测试并发的要求。

原理是主机把测试用例“发”给从机Jmeter进程进行执行,只发用例,所以涉及CSV文件,或者导入jar包的操作,需要在从机上先把文件copy好,绝对路径要一样。

翻了很多同类型资料,实践如下:

关闭主、从机的防火墙:sudo ufw disable     (enable:开启  status:查看状态)

1. 主机和从机的Java、Jmeter版本配置尽量一样,否则可能出一些问题(我用的两台机,Java配置1.8,小版本上不太一样,但实际测试一个Demo,没影响;Jmeter5.1)

2. 运行主机Jmeter/bin文件夹下 create-rmi-keystore.sh,生成rmi_keystore.jks文件,copy到从机的Jmeter/bin文件夹下。

3. 修改主、从机的jmeter.properties文件字段:server.rmi.ssl.disable=true,并将注释符去掉

4. 修改主机jmeter.properties文件字段:remote_hosts=从机IP[:1099 ] (1099是默认端口可以不写,可以在主、从机jmeter.properties改)

5. 从机控制台运行  jmeter-server  -D  Java.rmi.server.hostname=从机IP1

6. 主机可以启动GUI,运行jmeter.sh,打开写好的测试计划Demo,点击运行->远程启动...;

    又或者控制台运行 jmeter -n -t 测试脚本绝对路径  -R  从机IP1, 从机IP2 -l 测试结果存储路径

但我第六步失败了,查网上资料,看到从机jmeter.server.log报错,

java.rmi.ConnectException: Connection refused to host: 127.0.1.1; 

参考了以下博主文章,在主机的system.properties添加  java.rmi.server.hostname=本地IP,终于运行成功。

主机同样需要指明被从机访问的地址。(尝试后发现在从机jmeter.properties文件字段:remote_hosts添加主机IP是没用的)

https://www.cnblogs.com/dreamanddead/p/why-should-you-set-hostname-in-jmeter-distribute-test.html

 

 

热门文章

暂无图片
编程学习 ·

php-fpm 服务

系统:centos 7版本:php-5.6.9安装目录:/Data/app/php/cd etc/mv php-fpm.conf.default php-fpm.confsbin/php-fpm 「 php-fpm 启动 & 无php-fpm.pid 」 ps -ef | grep php-fpmroot 23536 1 0 20:36 ? 00:00:00 php-fpm: master process (/Data/app/…
暂无图片
编程学习 ·

C语言期末考试内容(2)选择填空答案整理(基础章节内容)

C语言期末考试内容(2)选择填空答案整理(基础章节内容)文章目录C语言期末考试内容(2)选择填空答案整理(基础章节内容)作业二:变量定义/读/写与数据的存储表示一、判断题:答案: F F F F解析:1-4:C语言中的结束符是以分号来结束的,一个分号就代表一条语句。二、单选…
暂无图片
编程学习 ·

C++排雷:16. #pragma warning的几种用法

#pragma warning只对当前文件有效(对于.h,对包含它的cpp也是有效的),而不是对整个工程的所有文件有效。当该文件编译结束,设置也就失去作用。 #pragma warning(push)是保存当前的编译器警告状态;#pragma warning(push, n) 存储当前报警设置,并设置报警级别为n。n为从1到…
暂无图片
编程学习 ·

51小项目——使用proteus搭建简易的光照度计-(1)

总述 本项目基于51单片机,实现了对光敏电阻两端电压信号的简单获取,并通过数码管显示,蜂鸣器可以根据电压信号的大小发出不同间隔的声音。 注意: 由于疫情原因限制,无法返校制作实物,故本项目仅在proteus中完成了仿真,未能完成实物制作,仿真结果可能与实物结果不符 介绍…
暂无图片
编程学习 ·

训练数据转换为PASCAL VOC2007

数据 我们已有标注数据个数为json保存的,现在训练代码使用的标注格式为PASCAL VOC2007,为了不修改代码,将数据转换到PASCAL VOC2007的xml格式。 转换代码 import os import json from lxml.etree import Element, SubElement, tostring, ElementTree from xml.dom import mi…
暂无图片
编程学习 ·

Easyui网上书城需求分析

Easyui网上书城分析背景/价值模块划分前台后台前台用户模块前台分类模块前台书籍模块前台购物车模块前台订单模块后台书籍模块后台权限模块后台订单模块数据库设计 背景/价值 对老板而言:方便管理,有助于书城的推广 对顾客而言:方便购买、查阅书籍 对图书的销售和采购提供了…
暂无图片
编程学习 ·

抓头,0xc00005错误看到一个比较多的解释 记录一下

说明文字:PAGE-FAULT-IN-NONPAGED-AREA 通常的原因:内存错误(数据不能使用分页文件交换到磁盘中). 解决方法:卸掉所有的新近安装的硬件. 运行由计算机制造商提供的所有系统诊断软件.尤其是内存检查. 检查是否正确安装了所有新硬件或软件,如果这是一次全新安装,请与硬件或软…
暂无图片
编程学习 ·

thinkphp5.0集成phpword,生成word文档并下载

** 目录 ** 安装 使用 安装 github下载地址:https://github.com/PHPOffice/PHPWord 也可直接使用composer安装, composer require phpoffice/phpword使用 你需要的controller用命名空间的方式引入 use PhpOffice\PhpWord\IOFactory; use PhpOffice\PhpWord\PhpWord;在contro…
暂无图片
编程学习 ·

文件-复制-删除-移动

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.PrintWriter; public class CopyFile { public CopyFile() { } /** * 新建目录 * @param folderPat…
暂无图片
编程学习 ·

第一次用IDEA创建maven工程时间

第一次在idea中创建maven工程花费20+min 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与…
暂无图片
编程学习 ·

JavaScript 详解预编译原理

JavaScript 预编译原理 今天用了大量时间复习了作用域、预编译等等知识 看了很多博文,翻开了以前看过的书(好像好多书都不会讲预编译) 发现当初觉得自己学的很明白,其实还是存在一些思维误区 (很多博文具有误导性) 今晚就整理了一下凌乱的思路 先整理一下预编译的知识吧,…
暂无图片
编程学习 ·

哈夫曼编码

哈夫曼编码 输入一个字符串文本 #include <stdio.h> #include <stdlib.h> #include <string.h>#define cmax 0x3f3f3f3f // 宏定义一个较大的数,作为比较数据 #define cmaxsize 10000 // 宏定义数组的长度 // ---构建哈夫曼树 // ---定义哈夫曼…
暂无图片
编程学习 ·

VMware上安装达梦数据库8.0

VMware上安装达梦数据库8.0 VMware上安装达梦数据库8.0 本文指导达梦数据库8.0版本的安装,安装环境为中标麒麟7操作系统 第一步: 操作系统界面右键进入终端控制台,如下图所示:第二步: 规划dm8安装路径:首先,查看磁盘信息是否满足,如下图所示;2. 新建dm8安装目录,如下…
暂无图片
编程学习 ·

如何创建MySQL存储过程,这是一个问题!且看大佬如何整理剖析

简单地说,存储过程就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理。本篇主要介绍如何创建存储过程和存储函数以及变量的使用,如何调用、查看、修改、删除存储过程和存储函数等。存储程序可以分为存储过程和函数,MySQL 中创建存储过程和函数使用的语…
暂无图片
编程学习 ·

OA、ERP、BPM 各自的功能和特点是什么?怎么配合使用?

​OA是Office Automation的简称,译为办公自动化,常用于企业内部事务管理。OA具有的几个功能:信息存储、数据管理、数据共享。因此,它的使用场景常分布在日常办公中,比如:公文管理、沟通工具、文档管理、项目管理、任务管理、会议管理、通讯录、工作便签、问卷调查、常用工…
暂无图片
编程学习 ·

快手2020校园招聘秋招笔试--工程B试卷

攻击者使用无效IP地址,利用TCP连接的三次握手过程,连续发送会话请求,使受害主机处于开放会话的请求之中,直至连接超时,最终因耗尽资源而停止响应。这种攻击被称为A. DNS欺骗攻击 B. DDoS攻击 C. SYN Flooding攻击 D. 重放攻击DNS欺骗攻击:DNS(Domin Name Sever)是域名服…