JMeter是Apache组织的开放源代码项目,100%的用java实现应用。用于压力测试和性能测试。它最初被设计用于Web应用测试但后来扩展到其它测试领域。
jmeter和loadrunner的对比:
jmeter包含四个部分:
负载发生器: 用于产生负载,通常以多线程或是多进程的方式模拟用户行为。
用户运行器: 通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。
资源生成器: 用于生成测试过程中服务器、负载机的资源数据。
报表生成器: 根据测试中获得的数据生成报表,提供可视化的数据显示方式
单机部署:
下载JMeter源码包,解压之后即可使用,无需安装。 进入安装目录bin文件夹中点击“JMeter.bat”文件启动工具窗口。
多台机器分布式部署:
通常在模拟大批量用户一台机器资源不够用时使用分布式部署
jmeter的错误日志将被写在日志文件中。日志文件名在jmeter.properties文件中定义。一般定义为 jmeter.log 。并且在JMeter启动目录,例如bin,jmeter.log 文件记录一些测试运行信息。日志文件对发现错误原因很有帮助,作为JMeter不会打断一个测试来显示一个错误对话框。
测试计划:用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。
线程组-用户:默认有三个添加线程组的选项, 创建之后其界面是完全一样的
1) setup thread group 可用于执行预测试操作。这些类型的线程执行测试前进行定期线程组的执行。
2) teardown thread group 可用于执行测试后动作。这些类型的线程执行测试结束后执行定期的线程组。
取样器:取样器(Sample)是性能测试中向服务器发送 请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、 JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。
定时器:用于操作之间设置等待时间,等 待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。
前置处理器:用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。
后置处理器:用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据。
监听器:
来对测试结果数据进行处理和可视化展示的一系列元件。 图行结果、察看结果树、聚合报告。都是我们经常用到的元件。