JMeter学习笔记--工具简单介绍
一、JMeter 介绍
Apache JMeter是纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
同时,JMeter可以帮助你对应用程序进行回归测试。通过创建的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许使用正则表达式来创建这些assertions.
JMeter与LoadRunner比较
JMeter 是一款开源(界面不美观)测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细;但它的优点也有很多:
多线程框架--支持多并发
用于对服务器模拟负载
支持web\数据库\FTP各种服务器系统的性能测试
可进行二次开发
- 开源,免费使用。
- 小巧,无需安装,有JDK即可使用。
- 功能强大,可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,可以进行二次开发。
两者最大的区别:jmeter不支持IP欺骗,而LR支持。
JMeter缺点
使用JMeter无法验证JS程序,也无法验证页面UI,所以需要和Selenium配合来完成Web2.0应用的测试。
二、JMeter 下载安装
1)JMeter安装
1. http://jmeter.apache.org/下载最新版本的JMeter,解压文件到任意目录
2. 安装JDK(java开发工具包),配置环境变量JAVA_HOME.PATH.CLASSPATH
3. 系统要求:JMeter2.11 需要JDK1.6以上的版本支持运行
4. JMeter可以运行在如下操作系统上:Unix,Linux,MAC,Windows和Open VMS.
2)JMeter插件安装
1. 插件下载地址: http://jmeter-plugins.org/downloads/all/
2. 插件下载后解压:找到JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar放到apache-jmeter-2.12\lib\ext目录。
三、JMeter目录结构
- bin:包含JMeter的主jar包,以及相关脚本和配置文件
- docs:存放API文档,主要用于二次开发
- extras:附加目录,JMeter和其他应用集成需要的文档
- lib:JMeter启动时默认的classpath路径,所有需要的引入的类及jar包都在该目录下,修改后需要重启生效
Lib\ext:用来存放第三方的组件和插件,与lib的区别,是继承了GUI框架的,在jmeter的GUI界面可见
printable_docs:存放jmeter提供的官方帮助文档
四、JMeter 运行
1. 进入bin目录运行jmeter.bat启动jmeter
注意:打开的时候会有两个窗口,JMeter的命令窗口和JMeter的图形操作界面,不可以关闭命令窗口。
每台机器能创建多少用户数,---》由(内存)物理内存(电脑32G)决定,jmeter是java进程,进程需要一定的内存资源(堆内存),JMeter通过主从的方式进行分布式(jmeter - server)内存。
一台机器能虚拟多少用户数,由两部分组成,一部分是本机的物理内存有多大,二部分给jmeter进程的给了多大的堆内存。
端口号分配不均匀、不合理,性能测试也会有问题。
2. JMeter的classpath:
如果添加其他JAR文件到JMeter的classpath中,必须复制其到lib目录中;
如果开发了一个JMeter特定组件或有效的jar文件,要复制到lib目录下的ext目录中。
3. 打开之后显示的是中文,如果你想使用其他语言,比如英文,那么通过菜单选项->选择语言->英文即可,当然转为中文也是同样操作。
Windows的工作原理:
dos里面运行某个指令,把dos比作列表,列表里会有path,JMeter会到path里去找,有的话正常运行,没有的话,就会提示不是内部或外部指令。
windows与linux系统差别:
JMeter学习笔记--工具简单介绍的更多相关文章
- JMeter学习笔记02-基础介绍
基本构成 1)负载发生器:产生负载,多线程模拟用户行为 2)用户运行期:脚本运行引擎,用户运行器附加在线程上,根据指定脚本模拟指定的用户行为 3)资源发生器:生成测试过程中服务器.负载机的资源数据 4 ...
- 【转载】JMeter学习(一)工具简单介绍
JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...
- JMeter学习工具简单介绍
JMeter学习工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态 ...
- HTML+CSS学习笔记(1) - Html介绍
HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...
- Typescript 学习笔记一:介绍、安装、编译
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例
cocos2d-x 3.0 制作横版格斗游戏 http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi http://blo ...
- InterSystems Ensemble学习笔记(一) Ensemble介绍及安装
系列目录 InterSystems Ensemble学习笔记(一) Ensemble介绍及安装InterSystems Ensemble学习笔记(二) Ensemble创建镜像, 实现自动故障转移 一 ...
- JAVA WEB学习笔记(三):简单的基于Tomcat的Web页面
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
随机推荐
- python继承细节
不要子类化内置类型 内置类型(由C语言编写)不会调用用户定义的类覆盖的特殊方法. 例如,子类化dict作为测验: class DoppeDict(dict): def __setitem__(self ...
- P5934-[清华集训2012]最小生成树【最小割】
正题 题目链接:https://www.luogu.com.cn/problem/P5934 题目大意 给出\(n\)个点\(m\)条边的一张图,再加入一条边\((u,v,L)\)求至少删掉多少条边可 ...
- 单页应用后退不刷新方案(vue & react)
引言 前进刷新,后退不刷新,是一个类似app页面的特点,要在单页web应用中做后退不刷新,却并非一件易事. 为什么麻烦 spa的渲染原理(以vue为例):url的更改触发onHashChange/pu ...
- JDK原生反序列化利用链7u21
前言 JDK 7u21以前只粗略的扫过一眼,一看使用了AnnotationInvocationHandler,就以为还是和 CC1 一样差不多的利用方式,但最近仔细看了下利用链发现事情并不简单- 7u ...
- 卧槽,redis分布式如果用不好,坑真多
前言 在分布式系统中,由于redis分布式锁相对于更简单和高效,成为了分布式锁的首先,被我们用到了很多实际业务场景当中. 但不是说用了redis分布式锁,就可以高枕无忧了,如果没有用好或者用对,也会引 ...
- Python3入门系列之-----json与字典转换
json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写 JSON 函数 使用 JSON 函数需要导入 json 库:import js ...
- 深入浅出WPF-10.Resource(资源)
资源 对象级资源:每个WPF的界面元素都有一个名为Resources的属性,这个属性继承自FrameworkElement类,其类型为ResourceDictionary,采用键值对的形式存储资源,当 ...
- 四、mybatis动态sql
# 前言前面mysql都是通过静态sql进行查询的,但是如果业务复杂的时候,我们会遇到引号问题,或者多一个空格,这就使得sql代码编写错误了,所以为了解决这个问题,我们有了动态sql. Mybatis ...
- win32 TreeCtrl控件通知消息, LVN_SELCHANGED和LVN_ITEMCHANGED用法
今天出了个奇怪的问题,当我在主窗口上创建一个用模板对话框的子窗口时, 在子窗口上放的TreeCtrl控件不响应LVN_SELCHANGED消息,也是晕死了, 我以为是消息捕获的问题,我在主窗口上也捕获 ...
- 【原创】SystemVerilog中的typedef前置声明方式
SystemVerilog中,为了是代码简洁.易记,允许用户根据个人需要使用typedef自定义数据类型名,常用的使用方法可参见"define和typedef区别".但是在Syst ...