Jmeter 快速入门教程(一) - 认识jmeter和google插件
为什么使
Jmeter是免费开源的性能测试工具( 同时也可以用作功能测试,http协议debug工具 ). 在如今越来越注重知识产权的今天, 公司越来越不愿意冒着巨大的风险去使用盗版的商业性能测试工具. 但如果不使用盗版, 昂贵的License费用也不是每一个中小型公司,甚至是大型公司愿意投入的. 所以很多公司甚至还在铤而走险的买少量的license,然后大范围的使用. jmeter这个免费且好用的性能测试工具, 有足够的理由成为是我们不二的选择。
Jmeter是java语言编写,开放源代码。有了源代码,使得我们可以更深入的分析一些问题。(比如响应时间等),这样有助于我们更深刻理解性能测试,可以学习如何才能更精确的计量时间。商业软件就没有这个优点, 你想知道的东西,只能去看他们提供的文档,但文档并没有代码更能说服人。
Jmeter下载地址:
http://jmeter.apache.org/download_jmeter.cgi 当前的版本是4.0 。
接下来我们就要进入正题。但在进入之前,我们不得不提google code里的 jmeter plugins. 由于jmeter开源且本身是一个框架,可以让第三方来加入自己的插件。 而这个 jmeter plugin又提供了更强大的feature,让我们更得心应手。尤其是那些熟悉loadrunner的测试人员,用了google code里的jmeter plugin,你就不会再觉得jmeter 太难用了。
我们还有必要说一下jmeter和lr的基本区别。由于jmeter是免费开源软件,GUI设计的确实不是多么美观,在controller和agent模式下的管理也非常不方便。但是jmeter可以支持第三方插件,且开源,所以还是有着旺盛的生命力。
jmeter可以实现的测试如下几种类型:
- Web - HTTP, HTTPS
- SOAP
- Database via JDBC
- LDAP
- JMS
- Mail - POP3(S) and IMAP(S)
- FTP服务
- MongoDB (NoSQL) 新增支持
- Native commands or shell scripts 新增支持
- TCP 新增支持
google code里的jmeter plugins 可以增加如下的feature:具体支持的功能与增强特性,见http://code.google.com/p/jmeter-plugins/
注意: 最新的jmeter-plugins 已经支持了webdriver sampler, 已经可以模拟浏览器的行为,更真实的模拟用户访问web的行为, 可以得到更真实的性能数据. 具体是否使用,还需要根据自己的测试场景进行判断. (作者目前并不建议盲目的使用, 需要慎重考虑. 原因: 用户体验方面的性能测试可以由其他工具完成, 而性能测试则专注于特定的问题 )
具体资料信息,请访问 http://jmeter-plugins.org/wiki/WebDriverSet/
Apache Jmeter是一个100%的纯Java桌面应用,主要是针对web的压力和性能测试,但后来扩展到其他测试领域。Jmeter可以用于测试FTP、HTTP、RPC、JUNIT、JMS、LDAP、WebService(Soap) Request以及Mail和JDBC(数据库压力测试)。
JMeter官方下载地址:http://jmeter.apache.org/download_jmeter.cgi
下载完成之后,是一个.zip文件,解压即可。
JMeterPlugin可以把JMeter生成的jtl文件做出很好的统计图,同时还支持机器的cpu、memory、swap、disk io和network的监控,是个不错的插件。
JMeter插件的下载地址:https://jmeter-plugins.org/downloads/all/
jmeter-plugins-manager.jar下载完成之后,将下载的jmeter-plugins-manager-0.11.jar文件放置到*\apache-jmeter-3.1\lib\ext目录下面,然后重启JMeter即可。
注意:如果下载安装了Plugins Manager,在JMeter的选项Option中可以打开Plugins Manager。然后可以对需要的插件进行下载。
我们这里直接下载ZIP包,解压安装,方便得多。
这里,我们直接点击Previous ZIP Releases,下载ZIP包,进行解压安装。如下图所示:
下载完成之后,将.zip文件解压,将lib/ext文件下的.jar文件放置到*\apache-jmeter-3.1\lib\ext目录下面。
以JMeterPlugins-Extras-1.4.0.zip为例,如下图所示:
然后重新启动JMeter,如下图所示:
我们就可以看到我们添加的插件了:
其他插件皆如此类方法添加。
貌似现在用的比较多的插件,就这3个:JMeterPlugins-Standard、JMeterPlugins-Extras和ServerAgent。
JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。
ServerAgent的安装使用请接着看。
Servers Performance Monitoring
ServerAgent下载地址:https://jmeter-plugins.org/wiki/PerfMonAgent/
我们只需要在服务器上解压ServerAgent-2.2.1.zip。如果是UNIX,就启动startAgent.sh。如果是windows,就启动startAgent.bat。如下图所示:
注意:这个代理是由JAVA写的,所以需要JRE 1.4+的环境来运行。当然,我们也可以创建一个jar包含有jre,这样就不需要在服务器上安装JAVA环境。
当在服务器启动ServerAgent时,我们可以通过JMeter上的一个插件,来收集服务器的信息,关于CPU、Memory、Swap、Disk I/O和Networks。
jpgc-perfmon下载地址:https://jmeter-plugins.org/wiki/PerfMon/
下载之后,将jpgc-perfmon-2.1.zip解压,jpgc-perfmon-2.1\lib下面的两个jar文件放置到*\apache-jmeter-3.1\lib\下面,jpgc-perfmon-2.1\lib\ext下面的2个jar文件放置到\apache-jmeter-3.1\lib\ext下面。如下图所示:
然后重启JMeter,我们就能看到我们安装的插件了,如下图所示:
注意:必须在服务器上启动ServerAgent,我们再JMeter上使用PerfMon Metrics Collector才能收集到数据哦!