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

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. nginx 服务器重启命令,关闭(转)

    nginx -s reload  :修改配置后重新加载生效 nginx -s reopen  :重新打开日志文件nginx -t -c /path/to/nginx.conf 测试nginx配置文件是 ...

  2. jquery中return false的作用

    jquery中的return false既阻止默认事件,又阻止冒泡: 在原生的js中,return false只有一个功能,那就是阻止默认事件. <!DOCTYPE html> <h ...

  3. Slave_SQL_Running: No mysql同步故障

    参考:http://blog.itpub.net/29500582/viewspace-1318552/ http://blog.csdn.net/seteor/article/details/172 ...

  4. MySQL5.7压缩包安装图文教程

    MySQL5.7压缩包安装图文教程 一.下载网址:https://dev.mysql.com/downloads/ 选择5.7版本 二.解压 下载完成后解压,解压后如下(zip是免安装的,解压后配置成 ...

  5. 几种压缩方式:zlib

    zlib:zlib.h http://www.zlib.net/manual.html 编译时加 -lz ZEXTERN int ZEXPORT compress OF((Bytef *dest, u ...

  6. 转:Java并发编程与技术内幕:线程池深入理解

    版权声明:本文为博主林炳文Evankaka原创文章,转载请注明出处http://blog.csdn.net/evankaka 目录(?)[+] ); } catch (InterruptedExcep ...

  7. 剑指Offer——把数组排成最小的数

    题目描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 分析: 排 ...

  8. Python中的编码与解码(转)

    Python中的字符编码与解码困扰了我很久了,一直没有认真整理过,这次下静下心来整理了一下我对方面知识的理解. 文章中对有些知识没有做深入的探讨,一是我自己也没有去深入的了解,例如各种编码方案的实现方 ...

  9. 【我的Android进阶之旅】Android 如何防止 so库文件被未知应用盗用?

    首先,关于Android 如何防止 so库文件被未知应用盗用这个话题并不是我擅长的,只是在开发中遇到了这个问题,因此在这里总结一下. 故事回到几个月之前,当时公司和第三方音乐平台合作了一款内置于手表系 ...

  10. 学习HashMap的笔记

    对于HashMap只是学习了下put,remove方法,hashMap是数组+链表+红黑树组成 所以下面贴出我自己给代码的注释,看不懂的见谅哈,毕竟我也是刚了解,如果有错误的地方请指出,非常感谢 pu ...