JMeter学习笔记

JMeter资源

http://www.bonoy.com/jmeter/

http://www.bonoy.com/a/index.php?name=PNphpBB2&file=viewforum&f=39&sid=dc396bf64d7cf935cf52a52e0970bd11

http://jakarta.apache.org/jmeter/index.html

以下内容都转载自网上,每一部分下面都有原文的链接,向原作者致敬....
Apache JMeter
Apache JMeter 是一个100%的纯Java桌面应用,用于压力测试和性能测量。
它最初被设计用于Web应用测试但后来扩展到其他测试领域。
我用它能做什么?
Apache JMeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络 或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以 使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
它能作什么?
Apache JMeter 的特性包括:
  • 能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
  • 完全的可移植性和100% 纯Java。
  • 完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
  • 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
  • 精心的GUI设计允许快速操作和更精确的计时。
  • 缓存和离线分析/回放测试结果。
  • 高可扩展性:
    • 可链接的取样器允许无限制的测试能力。
    • 各种负载统计表和可链接的计时器可供选择。
    • 数据分析和可视化插件提供了很好的可扩展性以及 以及个性化。
    • 具有提供动态输入到测试的功能(包括JavaScript)。
    • 支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。
 
 
 
JMeter允许你开发测试方案,用以测试可访问的HTTP,FTP和JDBC数据库服务.JMeter可使用cookie和URL重写来处理Servlet验证,因此,在测试JSP应用程序时表现良好.
 
 
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

1 JMeter作用领域

 JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。
 
 
 
使 JMeter 启动时显示中文页面(JMeter-2.0.3)
在 <JMeter_HOME>/bin 目录下的 jmeter.properties 中设置 language=cn
 
说明: JMeter 可以在 UI 上使用菜单切换语言文字, 但是我一直没法猜到中文是"cn", 猜了很多"zh_CN", "zh-CN", "zh" 都不得要领, 只有去看源代码才发现原来是"cn"
 
 
 
Jmeter系统参数---StringFromFile
1.函数: ${_StringFromFile(文件名.dat)}
2.外部文件的格式必须为.dat
3.默认读取位置为/bin下,也可以自己设定文件存放路径,如:
${_StringFromFile(e:user.dat)},从e盘下读取user.dat文件中的数据
4.每次读取文件中的一行
5.如果我有多个user文件,想一起读取,文件名分别为user1  user2。函数写为:
${_StringFromFile(user#.dat,,1,2)},从默认目录下读取user1和user2的文件
6.如果一个文件想读取多次,可以写成:
${_StringFromFile(user.dat,,,2)},user1文件读取2次
 
使用Jmeter测试Mysql
1.下载JDBC。将JDBC解压,
将mysql-connector-java- version-ga-bin.jar这个文件copy到jmeter/lib下
2.打开JMeter,设置JDBC请求。
 1) JDBC URL: jdbc:mysql://localhost:3306/loaddb?autocollection=true .
其中 localhost:3306,这个是你测试的server地址
 loaddb,这个是你测试的数据库名字。
这个url是jdbc的连接
2) Driver Class:org.gjt.mm.mysql.Driver  或者 com.mysql.jdbc.Driver
3) Username:这个数据库的登录名
4) password: 这个是数据库的登录密码
5) 在Sql Query String中写sql语句进行测试 。
 
注意:多个sql语句执行时会报错。这个是mysql和jdbc的配合有问题。我们需要在jdbc url中添加allowMultiQueries=true就可以了。不过必选注意你的mysql的版本在4.1上,jdbc的版本在3.1以上才可以。
 
 
 
对于jmeter的session管理- -
                                      
以下两部是对sesion的配置的总结。
 
因为session对应只是一个session id。
1、要在tomcat的/conf/Catalina/localhost下的对应的xml文件加上"cookies="true",这样就可以用cookies来保存session id;
2、在jmeter加一个HTTP Cookie Manager,这样就可以提交session id了;
3、每个Http Request中,不要选中redirect automatically,否则以后的seesion id 会不一致;
4、question:对于session中的值在jsp中作为参数传回到servlet,在jmeter中如何处理。
 

1. Jmeter下载地址:

http://jmeter.apache.org/download_jmeter.cgi

下载binary版本,保存到本地。

使用前将Java配置好,Jmeter需要使用jvm。

2. 在本地保存配置的脚本


Windows下,在cmd中运行jmeter.bat,会出现带GUI的界面,将附件的test.jmx导入即可。运行后,在Graph Results,View Results Tree或者Summary Report中可以查看结果报表。

Linux下,输入./jmeter.sh -n -t test.jmx -l test.jtl,输出如下

[ec2-user@ip-160-160-161-138 ~]$ ./jmeter/apache-jmeter-2.11/bin/jmeter.sh -n -t test.jmx -l test.jtl
Creating summariser <summary>
Created the tree successfully using Amazon.jmx
Starting the test @ Tue Jan 21 07:26:33 UTC 2014 (1390289193072)
Waiting for possible shutdown message on port 4445
summary + 867 in 25s = 35.3/s Avg: 7875 Min: 5 Max: 21677 Err: 0 (0.00%) Active: 129 Started: 568 Finished: 439
summary + 1138 in 32s = 35.7/s Avg: 1651 Min: 1 Max: 18455 Err: 0 (0.00%) Active: 32 Started: 1034 Finished: 1002
summary = 2005 in 55s = 36.6/s Avg: 4342 Min: 1 Max: 21677 Err: 0 (0.00%)
summary + 1995 in 48.2s = 41.4/s Avg: 1308 Min: 0 Max: 22151 Err: 0 (0.00%) Active: 0 Started: 2000 Finished: 2000
summary = 4000 in 101s = 39.5/s Avg: 2829 Min: 0 Max: 22151 Err: 0 (0.00%)
Tidying up ... @ Tue Jan 21 07:28:16 UTC 2014 (1390289296842)
... end of run

3. Linux结果查看方法

将生成的test.jtl使用pscp.exe从AWS下载。命令如下

pscp.exe -i ./privatekey.ppk ec2-user@hostip:/home/ec2-user/test.jtl .

然后在本地的jmeter中可以查看测试结果。方法如下:

在任意Linsenter中打开,如上图是在Summary Report中打开的,


可以得到相应的结果显示。

4. 修改linux中jmeter.properties配置文件,将jmeter.save.saveservice的一些属性值值为true,可以在.jtl和.csv中增加一些输出结果。

注意,如果在linux下运行生成的.jtl和.csv,想在window中显示,需要修改window上的jmeter.properties中对应的属性值。否则jmeter会报错


参考链接

http://www.http503.com/2012/run-jmeter-on-amazon-ec2-cloud/
http://stackoverflow.com/questions/16618915/setting-up-jmeter-for-distributed-testing-in-aws-with-connectivity-issues
http://blog.csdn.net/ceo158/article/details/9331813
http://linux.chinaitlab.com/command/836359.html

http://www.cnblogs.com/MasterMonkInTemple/archive/2013/09/27/3342826.html


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值