前言

使用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. java基础 JDBC & Statement & PreparedStatement

    参考文章: http://blog.csdn.net/wang379275614/article/details/23393335 概念 JDBC-数据库连接,是由一些类和接口构成的API,是J2SE ...

  2. [技术博客]阿里云签名机制字符串的C语言实现

    [技术博客]阿里云签名机制字符串的C语言实现 问题描述见:阿里云签名机制 话不多说,上字符串函数转化函数代码 bool AlicloudRequest::sendV2Request() { if( q ...

  3. 在WIN7操作系统下,如何显示文件夹里文件的数目

    在文件夹的“查看”选项中选择“状态栏”,那么在任务栏中可以显示windows7系统中文件夹中文件的数目.具体操作请参照以下步骤. 1.首先开启电脑,在电脑中进入到任意一个文件夹中. 2.然后在文件夹界 ...

  4. JNA 调用操作系统函数 和 系统调用

    linux系统调用syscall 表:https://filippo.io/linux-syscall-table/ Linux Namespace 特性简要介绍 原文:https://iliangq ...

  5. Lab_1:练习4——分析bootloader加载ELF格式的OS的过程

    一.实验内容 通过阅读bootmain.c,了解bootloader如何加载ELF文件.通过分析源代码和通过qemu来运行并调试bootloader&OS, bootloader如何读取硬盘扇 ...

  6. 第十四节:Asp.Net Core 中的跨域解决方案(Cors、jsonp改造、chrome配置)

    一. 整体说明 1. 说在前面的话 早在前面的章节中,就详细介绍了.Net FrameWork版本下MVC和WebApi的跨域解决方案,详见:https://www.cnblogs.com/yaope ...

  7. Springboot Actuator之五:Springboot中的HealthAggregator、新增自定义Status

    springboot的actuator内置了/health的endpoint,很方便地规范了每个服务的健康状况的api,而且HealthIndicator可以自己去扩展,增加相关依赖服务的健康状态,非 ...

  8. Java并发编程基础-Unsafe

    前言:Unsafe是Java中一个底层类,包含了很多基础的操作,比如数组操作.对象操作.内存操作.CAS操作.线程(park)操作.栅栏(Fence)操作,JUC包.一些三方框架都使用Unsafe类来 ...

  9. 论文笔记:LightGBM: A Highly Efficient Gradient Boosting Decision Tree

    引言 GBDT已经有了比较成熟的应用,例如XGBoost和pGBRT,但是在特征维度很高数据量很大的时候依然不够快.一个主要的原因是,对于每个特征,他们都需要遍历每一条数据,对每一个可能的分割点去计算 ...

  10. C的温习-开头篇1

    编译运行C语言可以用很多软件MicrosoftVisualC++.MicrosoftVisualStudio.DEVC++.Code::Blocks.BorlandC++.WaTComC++.Borl ...