cpn tools查看运行时间_Jmeter在Linux下的运行测试

一、JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。

1.1、JMeter的作用

  1. 能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
  2. 完全的可移植性和100% 纯java。
  3. 完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
  4. 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
  5. 精心的GUI设计允许快速操作和更精确的计时。
  6. 缓存和离线分析/回放测试结果。

1.2、JMeter的高可扩展性

  1. 可链接的取样器允许无限制的测试能力。
  1. 各种负载统计表和可链接的计时器可供选择。
  1. 数据分析和可视化插件提供了很好的可扩展性以及个性化。
  1. 具有提供动态输入到测试的功能(包括Javascript)。
  1. 支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。

在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。

相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。

二、Jmeter在Linux下的运行测试

在windows下使用Jmeter已经司空见惯了,既然Jmeter是基于JAVA的,所以就有完全的可移植性,可以在linux下运行。

2.1、安装JDK

首先安装JDK,并正确配置环境变量。

一、上传并解压jdk压缩包jdk-8u151-linux-x64.tar.gz,建议把软件都安装到/usr/local/下,如/usr/local/jdk1.8.0_151。

二、安装java环境

1、用vim编辑器打开/etc/profile文件,在文件尾部加入环境变量的定义

JAVA_HOME=/usr/local/jdk1.8.0_151/PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport PATHexport CLASSPATH

2、重启电脑,或者输入如下命令使配置立即生效

source /etc/profile

3、查看java版本

java -version

2.2、安装Jmeter

1、将Jmeter的安装包(直接使用windows下的zip压缩包都行)apache-jmeter-4.0.zip上传至Linux的/usr/local/目录下,解压。

2、编辑/etc/profile文件,配置Jmeter的环境变量

export PATH=/usr/local/apache-jmeter-4.0/bin/:$PATH

3、重启电脑,或者输入如下命令使配置立即生效

source /etc/profile

2.3、启动Jmeter

使用命令执行脚本:

jmeter -n -t /usr/local/apache-jmeter-4.0/my_threads/sfwl.jmx -l /usr/local/apache-jmeter-4.0/test.jtl &

参数说明:

-h 帮助 -> 打印出有用的信息并退出

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 启动远程服务

-H 代理主机 -> 设置 JMeter 使用的代理主机

-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

注意:如果未设置Jmeter的环境变量则在执行脚本的时候需要检查当前目录是否是jmeter的bin目录下

运行示意图:

6ac9c94d5a4cc37f5a5f5a4841df46c8.png

2.4、查看运行结果

1、运行结果存放在运行脚本产生的test.jtl文件中,在linux下可以通过cat、vim等命令查看该文件的内容,在windows下可以通过Notepad++直接打开该文件,如下图:

1b5082a30d1bd21a1332534c933594b8.png

2、使用Jmeter查看(注意:window下安装的Jmeter和JDK要和Linux的保持一致)

在windows系统下打开Jmeter,创建一个线程组,在线程组下添加监听器,点击界面上的浏览按钮,将导出的文件test.jtl添加进来即可看到脚本测试的报告,如下图:

b4988638981bf7ccdaf884df8975850d.png

声明:本文转自CSDN,作者yjclsx

原文链接:https://blog.csdn.net/yjclsx/article/details/81740623

著作权归原作者所有,如有侵权请联系删除,谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css div滚动_如何使用CSS创建可垂直滚动的div?

css div滚动Introduction: 介绍: Dealing with divs has become a regularity and divs are used for many purposes like to structure our code and to segregate our various sections of codes. Besides, we are also aware of many properties that we can im…

Linux中磁盘分区的管理

1. 本地存储设备的识别 fdisk -l真实存在的设备cat /proc/partitions系统识别的设备blkid系统可使用的设备df系统正在挂载的设备 真实存在的设备不一定可识别,识别到的的设备不一定可使用 2. 设备的挂载和卸载 1)设备名称 /dev/xdx …

python中时间的加减_python日期加减

python中关于时间和日期函数的常用计算总结 python中关于时间和日期函数有time和datatime 1.获取当前时间的两种方法: import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") print now now = datetime.datetime.now()... 文章 技术小胖子 2017-11-08 848…

bst 删除节点_在BST中删除大于或等于k的节点

bst 删除节点Problem statement: 问题陈述: Given a BST and a value x, write a function to delete the nodes having values greater than or equal to x. The function will return the modified root. 给定一个BST和一个值x ,编写一个函数删除值大…

游戏架构之二(转)

棋牌类游戏常用架构: 我从事过4年的棋牌类游戏开发,使用过的架构大致如上,各模块解释如下。 LoginServer: 登陆服务器,主要负责player 的登陆请求,验证player的合法性,为合法的player分配sessio…

对lvm介绍

1. 什么是LVM LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,用户在无需停机的情况下可以方便地调整各个分区大小。 lvm中的一些常见符号及意义 pv物理卷被lv命令处理过的物理分…

pythonweb自动化测试实例_[转载]python webdriver自动化测试实例

python webdriver自动化测试初步印象以下示例演示启动firefox,浏览google.com,搜索Cheese,等待搜索结果,然后打印出搜索结果页的标题from selenium import webdriverfrom selenium.common.exceptions import TimeoutExceptionfrom selenium.w…

repeated_Ruby中带有示例的Array.repeated_combination()方法

repeatedArray.repeated_combination()方法 (Array.repeated_combination() Method) In this article, we will study about Array.repeated_combination() method. You all must be thinking the method must be doing something which is related to creating combinations o…

ApacheHttpServer修改httpd.conf配置文件

转自:https://blog.csdn.net/dream1120757048/article/details/77427351 1. 安装完 Apache HTTP Server 之后,还需要修改一下配置文件。 Apache 的配置文件路径如下: C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf…

大学物理实验电学基本参数的测量实验报告_大学物理电学实验报告

技校网专门为您推荐的类似问题答案问题1:怎样写大学计算机基础有关制作个人简历的实验报告一、实验名称:个人简历的制作 二、实验目的与要求: 1、熟悉Word 2003的基本操作 2、掌握利用网络搜索获得个人简历所需的资料 3、培养同学们动手能力和自学能力。…

python 线程模块_Python线程模块| main_thread()方法与示例

python 线程模块Python threading.main_thread()方法 (Python threading.main_thread() Method) main_thread() is an inbuilt method of the threading module in Python. It is used to return the main Thread object. It is the thread from which the Python interpreter …

linux中系统修复

1. 引导文件丢失 (1)引导文件所在路径 /boot/grub2/grub.cfg 需提前知道根目录所在分区和内核版本 uname -r 查询内核版本命令 模拟问题 rm -fr /boot/grub2/grub.cfg 一不小心把这玩意儿给删了,还reboot了 完了以后机子开不了了就这情况 …

dw相对路径怎么改_密云ETL怎么收费

密云ETL怎么收费,派客动力,公司依托自有产品,整合行业资源,构建先进的数据管理解决方案,解决企业和组织的核心数据问题以及被影响的业务挑战。这种工具我都使用过,优点有:图形界面,开…

python 自动化之路 day 08_2 网络编程

本节内容 Socket介绍Socket参数介绍基本Socket实例Socket实现多连接处理通过Socket实现简单SSH通过Socket实现文件传送作业:开发一个支持多用户在线的FTP程序1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today…

查看scala变量数据类型_Scala文字,变量和数据类型| Scala编程教程

查看scala变量数据类型1)Scala数据类型 (1) Scala Data Types) Scala has the same set of data types as in Java. The traditional 14 data types are inherited as it is in Scala. Scala具有与Java中相同的数据类型集。 传统的14种数据类型在Scala中被继承。 The Followin…

Elasticsearch过滤与聚合的先后顺序java实现

2019独角兽企业重金招聘Python工程师标准>>> 一、Elasticsearch的聚合 ES的聚合相当于关系型数据库里面的group by,例如查找在性别字段男女人数的多少并且按照人数的多少进行排序,在使用MySQL的时候,可以使用如下的句子 select se…

js手机号中间四位_11位手机号码隐藏中间四位数,学会Substitute函数一键搞定!...

相信许多朋友都有见过手机号码被*号隐藏中间四位数的情况。许多地方为了保护个人信息,都会将手机号的中间四位数用星号代替。如上图所示,我们需要将原来的手机号码,通过*号的方式变为隐藏后的加密模式。下面我们就来学习一下如何利用substitu…

python 整数最大_Python程序使用floor()方法查找最大整数

python 整数最大The greatest integer function is a function (real numbers function) to itself that is defined as follows: it sends any real number to the largest integer that is less than or equal to it. 最大整数函数是一个对其自身定义的函数(实数函数)&#x…

selinux对ftp的影响

1.啥是selinux 安全增强型Linux(Security-Enhanced Linux)简称selinux,它是一个Linux内核模块,也是Linux的一个安全子系统。 selinux的状态: Enforcing:强制模式,在selinux运作时,已经开始限制d…

ES6的class方法基本用法

为什么80%的码农都做不了架构师?>>> 在ES5中我们通常通过构造函数,定义并生成新对象。 例如: function Point(name,age){this.namename;this.ageage;}Point.prototype{Who:function(){return "My name is "this.name",My age…