前言

使用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环境的更多相关文章

  1. jmeter压测学习1-window环境准备与案例

    前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketExcep ...

  2. jmeter压测学习8-压测带token的接口

    前言 工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口. 比如我现在要压测一个修改用户的个人信息接口,每个用 ...

  3. jmeter压测学习9-响应断言

    前言 使用jmeter做接口压测的时候,如何能保证接口的每次返回结果都是我们预期的呢?这就需要添加检查点,也就是添加断言. 添加断言就是为了检查返回的结果与我们的预期是一致的,不用去一个个检查结果. ...

  4. jmeter压测学习12-设置持续压测时间(调度器的使用)

    前言 使用jmeter 做压测的时候,希望对一个接口持续压测 10 分钟或者半小时,可以使用调度器设置持续压测时间. 设置样本总数 压测方式有2种,一种是设置线程组和循环次数,这样可以设置一个样本总数 ...

  5. jmeter压测学习7-登录参数化(CSV 数据文件设置)

    前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况. 如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有 ...

  6. Jmeter压测学习6---登录参数CSV

    前言 我们在压测登录接口的时候,如果只用一个账号去设置并发压测,这样的结果很显然是不合理的,一个用户并发无法模拟真实的情况.如果要压测登录接口,肯定得准备几百,甚至上千的账号去登录,测试的结果才具有可 ...

  7. jmeter压测学习4-正则表达式提取

    前言 上一个接口返回的token作为下个接口的入参,除了前面一篇讲到的用json提取器提取,也可以用正则提取. json提取器只能提取json格式的数据,正则可以匹配任意的返回. 我现在有一个登陆接口 ...

  8. jmeter压测学习3-提取json数据里面的token参数关联

    前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有 ...

  9. Jmeter压测学习1—第一个项目:登录

    我用的是我们公司的测试环境练习的 网址:http://****:9000/login.html  账号是admin 密码:123456 一.打开Jmeter 找到安装目录:bin->Jmeter ...

随机推荐

  1. 微信小程序云开发不完全指北

    微信小程序云开发不完全指北 首先必须说明云开发的"云"并不是类似云玩家里的云的意思,而是微信小程序真的提供了云开发的接口以及一个简单的提供存储.数据库服务的虚拟后台(对于一些轻量小 ...

  2. Golang(五)Context 的使用和源码分析

    0. 前言 golang 的 Context 包,是专门用来简化对于处理单次请求但是涉及到多个 goroutine 之间与请求域的数据.取消信号.截止时间等相关操作,这些操作可能涉及多个 API 调用 ...

  3. 【Linux脚本学习案例】shell脚本多通道并发执行存储过程

    使用shell脚本开启多个子任务并发调用存储过程,存储过程按照通道处理数据,提高效率: 外层调用脚本: #!/bin/sh #------------------------------------- ...

  4. 10 张图带你深入理解 Docker 容器和镜像

    这篇文章希望能够帮助读者深入理解 Docker 的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别. 当我对 Docker 技术还是一知半解的 ...

  5. Docker快速搭建Zookeeper和kafka集群

    使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...

  6. 2014百度之星 Party

    Party Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. c++作业题sin公式

    今日 有一位同样读大一的朋友向我求助有关c++的作业题 他说他的程序逻辑正确 但是结果的精度不对 题目如下: 这是一道看起来十分简单的作业题 我按照要求快速地写了一个版本 不出所料 一样遇到了精度问题 ...

  8. 【题解】Luogu P4091 [HEOI2016/TJOI2016]求和

    原题传送门 \[\begin{aligned} a n s &=\sum_{i=0}^{n} \sum_{j=0}^{i}\left\{\begin{array}{c}{i} \\ {j}\e ...

  9. Kafka学习笔记之Kafka自身操作日志的清理方法(非Topic数据)

    0x00 概述 本文主要讲Kafka自身操作日志的清理方法(非Topic数据),Topic数据自己有对应的删除策略,请看这里. Kafka长时间运行过程中,在kafka/logs目录下产生了大量的ka ...

  10. axios捕获401 赋值token

    //捕获401 // http request 拦截器 axios.interceptors.request.use( config => { const token = localStorag ...