jmeter工具
jmeter是什么
Apache Jmeter 是Apache组织开发的基于java的压力测试工具 是一项开源工具
jmeter 可以用于服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,jmeter允许使用正则表达式创建断言
jmeter特点
能够对http、ftp服务器进行压力测试和性能测试,也可以对任何数据库进行测试(通过JDBC)
完全可移植性和100%纯java
完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样
各种负载统计表和可链接的计时器可供选择
数据分析和可视化插件提供了很好的可扩展性以及个性化(比loadlunner扩展性好)
具有提供动态输入到测试的功能
jmeter下载安装
前置条件:jdk安装好
下载jmeter:http://jmeter.apache.org/download_jmeter.cgi
一般启动:解压,bin目录下的jmeter.bat即可启动
服务器模式启动:jmeter-server.bat 允许在远程节点上以服务器模式运行,并通过jmeter gui 来控制
jmeter工作原理
通过浏览器录制 ,通过jmeter压后端服务器
手写性能测试脚本,通过多线程压后端服务器
jmeter目录结构
bin目录是可执行文件,jmeter.bat启动,里面可以设置jvm参数
根据经验,heap(堆内存)最多设置未物理内存得一半,默认设置未512M。 如果heap超过物理内存得一半,可能运行jmeter会慢,甚至出现内存溢出。(java吃内存比较占cpu)
jmter得log在jmeter.log中查看
jmeter.properties配置文件中有一个属性log_level.jmeter可设置改变日志详细程度。 默认是info ,可改为debug
docs下是jmeter得java docs
printable_docs下的usermanual子目录下试jmeter用户手册,其中component_referrnce.html最常用的核心元件帮助手册
extras目录下的文件提供了对ant的支持,可以利用ant来实现自动化,例如批量执行脚本,产生html报告等
运行jmeter的时候会产生一个jtl文件,把他放到extras目录下,运行ant - Dtest= 文件名 report就可以生成测试统计报表
lib目录下的ext子目录是jmeter的核心jar包;junit子目录是放junit脚本,用户扩展所依赖的包直接放到lib底下即可,不要放到lib/ext下
jmeter简单、轻量级;支持录制回放;测试协议丰富,扩展性好;分布式;不支持IP欺骗;支持图形报表;支持功能测试;支持测试逻辑控制;支持监控服务器资源;
jmter常用功能
测试计划:用来描述一个性能测试,所有内容都是基于这个计划的
线程(用户)
一般常用线程组 可理解成为loadrunner中虚拟用户组
setup thread group :可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。类似于loadrunner的init
teardown thread group:可用于执行测试后动作(运行后的清理工作)。这些线程的行为完全像一个正常的线程组元件。类似于laodrunner中end
jmeter两种录制方式
badboy
通过代理