​以下内容亲测,如果不对的地方,欢迎留言指正,不甚感激。^_^祝工作愉快^_^

Jmeter是一个非常好用的压力测试工具。  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好。

压力测试,就是被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况)

比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速度是否会变慢,或者网站是否会崩溃。

做压力测试,一般要使用工具, 人工是没办法做的。最常用的工具是LoadRunner, 但是LoadRunner毕竟是收费软件,而且使用上也比较复杂。 现在越来越多的人开始使用Jmeter来做压力测试。 免费, 而且使用上非常简单。

一个简单的压力测试步骤:

1. 写脚本

2. 场景设计

3. 使用控制器,来控制模拟多少用户。

4. 使用监听器, 查看测试结果

本章目的让读者学会使用jmeter进行简单的接口测试和压力测试的一些方法。

作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况,请按如下步骤一步一步安装并配置

相关软件下载地址

JDK:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html?ssSourceSiteId=ocomen

JMeter:http://jmeter.apache.org/download_jmeter.cgi

JMeter插件:http://jmeter-plugins.org/downloads/all/

3.1.1 JDK的安装和环境变量配置

1、JDK版本选择

JDK:在作者编写该书时JDK版本已经更新到9(不支持jmeter3),本书就以jdk8版本为例,该版本即可以支持jmeter3也支持最新版jmeter4,如下图:

点击图标2按钮页面跳转到下载页面。

选择Linux版本的tar.gz文件点击下载到指定目录。

如果需要下载早期版本,在JDK下载页面中下拉到页面底部选择早起版本下载链接选在自己需要的版本:

2、查看下载JDK文件

Ubuntu系统下载文件默认放在“下载”目录中,即:

进入下载目录后查看已经下载完成的文件:jdk-8u151-linux-x64.tar.gz

3、安装JDK并配置环境变量

进入终端查看已经下载完成的文件:使用ctr+alt+t打开终端,进入终端。

1)在终端完成如下操作:

root@ranxf:/home/ranxf/下载# tar -zvxf jdk-8u151-linux-x64.tar.gz  # 解压文件到当前目录;

root@ranxf:/opt# tar -zvxf jdk-8u151-linux-x64.tar.gz -C /opt/  # 解压文件到指定目录,加参数-C,在此说明,我喜欢将新安装的文件放置在opt下,可根据个人喜好新建目录。

2)查看解压后的JDK目录:

3)配置环境变量:

进入vim编辑器后,按键盘“i”键为编辑模式,输入上面内容,保存前退出编辑按冒号“:wq”。

让环境变量立即生效:

总结,本节内容主要讲解安装JDK和在Ubuntu中配置jdk的环境变量,同时熟悉Ubuntu系统下的相关操作。

3.1.2 Jmeter的安装和目录解析

1、版本选择:

目前Jmeter版本已经更新到4.0版本了。

核心改进:

  • JMeter现在支持JAVA 9,

  • 新的边界提取元素可用于提供更好的性能提取容易;

  • 新的JSON声明元素可用于在JSON响应中声明;

  • 新的精确的吞吐量计时器元素可以产生具有给定恒定吞吐量的到达;

  • JMS点对点采样器通过读取,浏览和清除选项得到了增强;

  • 新添加的控制器现在默认使用Expression,这是性能最佳的选项。

  • UI也有了改变

有兴趣的同学可以到官网查看更多的内容。

为了在学习过程中,读者能找到更多的资料,本书将采用jmeter3.1版本为例:

到上面下载链接下载二进制文件apache-jmeter-3.1 .tgz到下载目录。

在终端直接解压apache-jmeter-3.1 .tgz到/opt/目录下即可安装成功:

看见以上内容已经安装成功。

2、jmeter目录解析

  • bin 包含启动、配置等相关命令

  • docs 官方本地文档目录

  • extras 辅助库

  • lib 核心库,包含JMeter用到的各种基础库和插件

  • licenses 包含non-ASF软件的许可证

  • printable_docs 可打印版本文档目录

  • LICENSE JMeter许可说明

  • NOTICE JMeter简单信息说明

  • README.mdJMeter官方基本介绍

下面我们重点看一下bin目录

bin目录下我们最关注几个文件:

  • jmeter.properties JMeter核心配置文件,各种配置基本在这完成

  • log4j.conf JMeter日志配置管理

  • jmeter.log JMeter运行日志记录,什么输出信息、警告、报错都在这里进行了记录

  • jmeter.sh linux下jmeter启动文件

  • shutdown.sh Linux下jmeter关闭文件

  • stoptest.sh Linux下jmeter测试停止文件

  • jmeter-server Linux下jmeter服务器模式启动文件

注:每一个.sh文件都对应一个.cmd文件,.cmd是Windows下的对应功能的文件。


3.1.3 Jmeter组件介绍

在jmeter中提供了一系列的不同的组件,每一种组件都提供了某类功能的实现,用于支持性能测试的实施。

学习、研究jmeter之前,深入了解jmeter的基本组件及其作用是必须的。接下来我们开始讨论基于jmetere进行性能测试必须掌握的组件,以便大家逐步掌握jemter的核心基本能力。

下面的几个组件是入门jmeter必须掌握的:

  • Thread Group

线程组是一系列线程的集合,每一个线程代表着一个正在使用应用程序的用户。在jmeter中,每个线程意味着模拟一个真实用户向服务器发起请求。

在jmeter中,线程组组件运行用户设置线程数量、初始化方式等等配置。

例如,如果你设置线程数为100,那么jmeter将创建并模拟测试100个用户请求到服务器端。

Samplers

我们常用的jmeter测试有HTTP、FTP、JDBC协议,以及其他各种支持的协议。

我们已经知道线程组件用于模拟用户请求至服务器端。

如何在线程组件中实现某种请求类型(比如如何发起HTTP请求?)。

我们将如何利用Samplers组件的元素来实现各类请求类型。

我们先看一下在jmeter中Samplers组件已经实现了哪些协议的支持。

HTTP Request

HTTP Request提供了HTTP/HTTPS协议的测试支持能力。

下面我们一起看看HTTP Request元素的基本配置说明,了解下基本的功能。

  • FTP Request

FTP Request元素提供了测试ftp服务器的能力,这个元素让我们能够去测试ftp的上传、下载功能。

下面我们看一下ftp元素的基本配置说明:

  • Listeners

在jmeter中Listeners提供了执行结果生成和显示能力的支持,提供了树形结构、图形结构、表结构和聚合模式。

树形结构:

图形结构:

表结构:

聚合报告:

聚合报告里面的值足以作为测试报告中的值了,期待吧……

  • Configuration

配置元件包含了Samplers下各种Sampler的默认配置设置,如果有配置默认配置,在Sampler下对应的sampler就会使用该默认配置。


3.1.4 jmeter安装插件管理

从http://www.jmeter-plugins.org/install/Install/ 下载插件管理包,如图:

将下载的包放至jmemter解压根目录的lib/ext下即可。插件安装后的内容后期补上,初学者可以进入下一节。

总结

本次就jmeter相关软件的安装和配置及关键配置项进行了说明,大家可以在掌握基本功能后深入的去研究下其他的一些配置,以便进一步的熟悉jmeter的原理和应用,初学者可以暂时不用考虑插件的功能,等待理清jmeter的基本接口测试之后再回头添加插件的一些高级功能。

3.1、Ubuntu系统中jmeter的安装和目录解析的更多相关文章

  1. JMeter的安装和目录解析

    Ubuntu系统中jmeter的安装和目录解析 作为一个Linux新手,在使用jdk时,或许会安装配置多次仍然导致无法使用情况(如无法登录系统等),请按如下步骤一步一步安装并配置 相关软件下载地址 J ...

  2. Linux日常之Ubuntu系统中sendmail的安装、配置、发送邮件

    一. 安装 1. sendmail必须先要安装两个包 (1)sudo apt-get install sendmail (2)sudo apt-get install sendmail-cf 2. u ...

  3. ubuntu系统中的VMware 安装win7 Ghost镜像的几个坑

    1.ghost镜像安装时要先分区 2.分区后要激活 3.VM(虚拟机安装win7 提示 :units specified don't exist, SHSUCDX can't install)解决方法 ...

  4. wireshark在ubuntu系统中的正确安装方法

    以前一直在使用wireshark这个网络工具,最近在用来抓包学习MQTT协议的时候,发现wireshark暂时还未加入对MQTT协议分析的原生支持,网上搜了一下,可以自己用插件的形式扩展wiresha ...

  5. Ubuntu系统中安装RPM格式包的方法

    Ubuntu的软件包格式为deb,而RPM格式的包则是Red Hat 相关系统所用的软件包.当我们看到一个想用的软件包时,如果他是RPM格式,而你的操作系统是Ubuntu,那岂不是很遗憾?其实,在Ub ...

  6. 在Debian/Ubuntu系统中安装*.sh与*.bin文件

    在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...

  7. 手把手教你如何在Ubuntu系统中安装Pycharm

    前几天带大家一起安装了Ubuntu14.04系统,没来得及上车的伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编带大家一起在Ubuntu14.04中安装Py ...

  8. Ubuntu系统中登陆阿里云服务器的方法

    如果您购买了阿里云服务器,恰巧又在使用Ubuntu操作系统,那么恭喜你来对地方了,今天给大家分享一下如何在Ubuntu中登陆阿里云服务器: 主要使用两款软件:1.SecureCRT:2.SecureF ...

  9. 在 Ubuntu 系统中部署 Git Server

    http://blog.csdn.NET/poisonchry/article/details/11849781 虽然有很多开源的Git仓库,不过并非所有都尽人意,譬如Github,Gitlab等,不 ...

随机推荐

  1. Java IO 修改文件名

    /** *//**文件重命名 * @param path 文件目录 * @param oldname 原来的文件名 * @param newname 新文件名 */ public void renam ...

  2. Struts2的简单的文件上传

    1文件上传的流程: 第一步:首先得用表单标签的<s:file>在客户端接收上传的文件例如: <%@ page language="java" import=&qu ...

  3. Servlet的请求转发和重定向

    在学习servlet中对于转发和重定向的理解是非常重要的,但是常常把重定向和转发给混了,今天特地花点时间来总结以下. 一.servlet的转发 1.请求原理图如下所示:  2.可以简单理解转发就好比一 ...

  4. 【Python算法】归纳、递归、归简

    归简法(reduction) 指的是将某一问题转化成另一个问题,将一个未知问题归简成一个已解决的问题. 归纳法(induction) 首先要证明语句在某一基本情况下是成立的,然后证明他可以由一个对象推 ...

  5. ObjectId

    BSON Types — MongoDB Manual https://docs.mongodb.com/manual/reference/bson-types/#objectid ObjectId ...

  6. Big Data资料汇总

    整理和翻新一下自己看过和笔记过的Big Data相关的论文和Blog Streaming & Spark In-Stream Big Data Processing Discretized S ...

  7. org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servlet.Filter

    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter cannot be cast to javax.servle ...

  8. Myeclipse更新SVNStatusSubscriber 时报告了错误。1 中的 0 个资源已经同步。

    1.先确认SVN服务是否能连接,或权限. 方法:在项目目录下右键选择repo-browser 能打开就表示正常. 2.同样在项目目录下选择cleaup 选择下面3个选项 clean up workin ...

  9. Yii框架2.0的模块

    模块是个独立的软件单元,也是又控制器,视图,模型组成的,也可以有自己的布局.但他必须属于某个应用下,不能独立存在. 其中模块的控制器,视图和应用的控制器和视图使用基本相同,不作赘述,下面说说模块的使用 ...

  10. 爬虫之urllib包以及request模块和parse模块

    urllib简介 简介 Python3中将python2.7的urllib和urllib2两个包合并成了一个urllib库 Python3中,urllib库包含有四个模块: urllib.reques ...