jmeter压测学习2-linux运行jmeter环境
前言
使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试。
本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告。
相关环境:
java 1.8
jmeter 5.1.1
java环境
先在Linux上安装java环境,安装1.8.0版本,先查找java相关的列表
yum -y list java*
[root@VM_0_2_centos ~]# yum -y list java*
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
Available Packages
java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
...
java-1.7.0-openjdk.x86_64 1:1.7.0.231-2.6.19.2.el7_7 updates
java-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.231-2.6.19.2.el7_7 updates
...
java-1.8.0-openjdk.i686 1:1.8.0.222.b10-1.el7_7 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.222.b10-1.el7_7 updates
...
安装java-1.8.0-openjdk相关的文件
yum -y install java-1.8.0-openjdk*
安装完成后环境变量自动已经生效了,输入java -version查看版本号
java -version
[root@VM_0_2_centos ~]# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
[root@VM_0_2_centos ~]#
安装jmeter
在jmeter官网https://jmeter.apache.org/下载jmeter的zip安装包,下载完成后传到linux上任意目录,比如我的是/root/jmeter。
使用unzip命令解压zip文件,如果没有安装过unzip,先yum安装下
yum -y install unzip
[root@VM_0_2_centos ~]# mkdir jmeter
[root@VM_0_2_centos ~]# cd jmeter/
[root@VM_0_2_centos jmeter]# pwd
/root/jmeter
[root@VM_0_2_centos jmeter]# yum -y install unzip
[root@VM_0_2_centos jmeter]# ll
total 58292
-rw-r--r-- 1 root root 59684716 Oct 31 22:16 apache-jmeter-5.1.1.zip
[root@VM_0_2_centos jmeter]# unzip apache-jmeter-5.1.1.zip
使用unzip 解压.zip 文件
unzip apache-jmeter-5.1.1.zip
解压完成后,接下来vi编辑/etc/profile文件,设置环境变量,在文件底部编辑
export PATH=/root/jmeter/apache-jmeter-5.1.1/bin/:$PATH
接下来source执行/etc/profile文件让环境变量生效
source /etc/profile
输入jmeter -v能看到内容说明安装成功了
jmeter -v
[root@VM_0_2_centos jmeter]# cd apache-jmeter-5.1.1/
[root@VM_0_2_centos apache-jmeter-5.1.1]# cd bin
[root@VM_0_2_centos bin]# pwd
/root/jmeter/apache-jmeter-5.1.1/bin
[root@VM_0_2_centos bin]# vi /etc/profile
# 底部编辑export PATH=/root/jmeter/apache-jmeter-5.1.1/bin/:$PATH
[root@VM_0_2_centos bin]# source /etc/profile
[root@VM_0_2_centos bin]# jmeter -v
Oct 31, 2019 10:24:25 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
_ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
/ \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
/ _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
/ ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.1.1 r1855137
Copyright (c) 1999-2019 The Apache Software Foundation
[root@VM_0_2_centos bin]#
启动jmeter脚本测试
首先保证脚本在你本地电脑调试通过了,保存测试计划为Test Plan.jmx
脚本文件(Test Plan.jmx)导入linux服务器上,执行以下命令启动测试计划
jmeter -n -t Test\ Plan.jmx -l testplan.jtl
参数说明:
- -n 表示以no gui方式运行测试计划
- -t 表示测试计划,后面跟测试计划名称, 有空格的话用\空格表示
- -l表示测试结果,后面跟测试结果文件名称,后缀是.jtl文件
查看报告文件
测试结束后导出testplan.jtl文件,在本地jmeter上查看运行结果
jmeter压测学习2-linux运行jmeter环境的更多相关文章
- jmeter压测学习1-window环境准备与案例
前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketExcep ...
- jmeter压测学习8-压测带token的接口
前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...
- jmeter压测学习9-响应断言
前言 使用jmeter做接口压测的时候,如何能保证接口的每次返回结果都是我们预期的呢?这就需要添加检查点,也就是添加断言. 添加断言就是为了检查返回的结果与我们的预期是一致的,不用去一个个检查结果. ...
- jmeter压测学习12-设置持续压测时间(调度器的使用)
前言 使用jmeter 做压测的时候,希望对一个接口持续压测 10 分钟或者半小时,可以使用调度器设置持续压测时间. 设置样本总数 压测方式有2种,一种是设置线程组和循环次数,这样可以设置一个样本总数 ...
- jmeter压测学习7-登录参数化(CSV 数据文件设置)
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有 ...
- Jmeter压测学习6---登录参数CSV
前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况.如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可 ...
- jmeter压测学习4-正则表达式提取
前言 上一个接口返回的token作为下个接口的入参,除了前面一篇讲到的用json提取器提取,也可以用正则提取. json提取器只能提取json格式的数据,正则可以匹配任意的返回. 我现在有一个登陆接口 ...
- jmeter压测学习3-提取json数据里面的token参数关联
前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有 ...
- Jmeter压测学习1—第一个项目:登录
我用的是我们公司的测试环境练习的 网址:http://****:9000/login.html 账号是admin 密码:123456 一.打开Jmeter 找到安装目录:bin->Jmeter ...
随机推荐
- Pycharm 个人认为舒服漂亮又好用的主题风格
又开始和code打交道了系列…… 实验室换了新电脑,故而,重新安装了各种软件,乃至重新配置 Pycharm主题,找了好久,终于找到,想着应该mark一下,以备下次需要. 个人认为 Monokai 这 ...
- 【C++】const,static和static const类型成员变量声明及其初始化
1)const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间 void f1() { ; cout<<x<<endl; ...
- 备忘录(Memento)模式
备忘录模式又叫做快照模式或者Token模式. 备忘录对象是一个用来存储另一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来 ...
- Go语言【数据结构】切片
切片 简介 简单地说,切片就是一种简化版的动态数组.Go 数组的长度不可改变,而切片长度是不固定,切片的长度自然也就不能是类型的组成部分了.数组虽然有适用它们的地方,但是数组的类型和操作都不够灵活,因 ...
- SQL分类之DDL:操作数据库表
DDL:操作数据库表 1.操作数据库:CRUD 1.C(Create):创建 创建数据库: create database 数据库名称 创建数据库,判断不存在,再创建: create database ...
- 近3年常考的Spring面试题及答案
1. 一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能? Version Feature Spring 2.5 发布于 2007 年.这是第一个支持注解的版本. Spr ...
- listener中@Autowired无法注入bean的一种解决方法
背景:使用监听器处理业务,需要使用自己的service方法: 错误:使用@Autowired注入service对象,最终得到的为null: 原因:listener.fitter都不是Spring容器管 ...
- JS 数组克隆方法总结(不可更改原数组)
ES5 方法总结 1.slice let arr = [2,4,434,43]; let arr1= arr.slice();//let arr1 = arr.slice(0); arr[0] = ' ...
- 记一次针对Centos的入侵分析
离开厂家多年,很久没有碰这类事件了. 回顾: 2017年9月末,接到一个朋友转述的求助信息.他一客户的服务器被黑了.服务器上所跑业务上的金额也全部被人转走了. 朋友的客户加我后,没头没尾的问我能不能做 ...
- 你的MES今天升级了吗?
你以为把MES装上了就完事了吗?NO NO NO!乔布斯先生曾讲过“你如果出色地完成了某件事,那你应该再做一些其他的精彩事儿.不要在前一件事上徘徊太久,想想接下来该做什么.” 目前大部分企业都已经完成 ...