【转】Jmeter项目测试

  Jmeter的录制回放功能是现将你对要测试的项目进行访问的历史记录进行录制,然后虚拟出多个用户对历史记录进行回放,从而达到压力测试的目的。

  录制是通过代理服务器进行录制。

  一、下载地址

  http://labs.xiaonei.com/apache-mirror/jakarta/jmeter/binaries/jakarta-jmeter-2.3.2.zip

  二、JMeter 的安装非常简单,从官方网站上下载,解压之后即可使用。运行命令在%JMETER_HOME%/bin 下,对于 Windows 用户来说,命令是 jmeter.bat。

  三、录制。

  1)新建代理服务器。

  设置端口[8080]。

  正则表达式填写排除模式(选填)。

  i. .* - all

  ii. .*.png – png images

  iii. .*.gif – gif images

  iv. .*.jpg – jpeg images

  v. .*.php

  vi. .*.jsp

  vii. .*.html

  viii. .*.htm

  ix. .*.js

  2)浏览器设置上这个代理服务器

  Internet选项–连接—>局域网设置 localhost:8080

  3)代理服务器建立好了,就可以开始建立线程组

  在右边的窗口中设置线程数(相当于虚拟用户数)为50,Ramp-Up Period(in seconds,间隔时间,设为0标示并发访问)为0,,循环框中输入2。以上设置表示共有50个虚拟用户,并发访问,迭代2次

  4)为线程组添加录制控制器

  5)启动代理服务器。

  启动代理服务器,这样在设置好代理的浏览器中访问的记录就会被记录器记录下来,并在记录器下方显示,可以查看访问的路径、参数等。

  四、回放测试和结果查询

  为线程组添加一个聚合报告,查看结果

  取消ie代理,停止代理。

  运行启动 即可在聚合报告中看到压力测试的数据。

  Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

  #Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

  Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

  Median:中位数,也就是 50% 用户的响应时间

  90% Line:90% 用户的响应时间

  Min:最小响应时间

  Max:最大响应时间

  Error%:本次测试中出现错误的请求的数量/请求的总数

  Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

  KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

添加代理服务器后出现问题:连接到localhost 提示:位于 XDB 的服务器 localhost 要求用户名和密码,出现此问题的原因是由于安装oralce造成的。Oracle 9i创建数据库时默认包含了XDB特性。一旦启动了数据库和Listener,Oracle XDB启动http服务。XDB的http服务就占用8080端口,刚好和JBoss、Tomcat等默认端口冲突,Oracle XDB的端口设置不在配置文件中,而是在数据库里。这就是主要原因,当然还有可能是其它的原因。

  解决方法如下:

  1,打开services.msc,将OralceServiceYourOracleSid服务器关闭,先完成测试,当需要使用oracle时再开启此服务。

  2,修改XDB服务器的端口号同样可以达到目的,步骤如下

  禁用Oracle的XDB服务的方法很简单,去掉相应的数据库的初始化参数即可:

  编辑$ORACLE_HOME/dbs/initSID.ora文件,去除如下行:

  dispatchers=’(PROTOCOL=TCP) (SERVICE=XDB)’

  重启数据库

  shutdown immediate;

  create spfile from pfile;

  startup;

  修改XDB服务端口:

  XDB的http服务就占用8080端口,刚好和JBoss、Tomcat等默认端口冲突,Oracle XDB的端口设置不在配置文件中,而是在数据库里。如下修改XDB的http和ftp服务端口:

  使用sys登录sqlplus,利用dbms_xdb修改端口设置

  SQL> — Change the HTTP/WEBDAV port from 8080 to 8081

  SQL> call dbms_xdb.cfg_update(updateXML(

  2 dbms_xdb.cfg_get()

  3 , ‘/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()’

  4 , 8081))

  5 /

  Call completed.

  SQL> — Change the FTP port from 2100 to 2111

  SQL> call dbms_xdb.cfg_update(updateXML(

  2 dbms_xdb.cfg_get()

  3 , ‘/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()’

  4 , 2111))

  5 /

  Call completed.

  SQL> COMMIT;

  Commit complete.

  SQL> EXEC dbms_xdb.cfg_refresh;

  PL/SQL procedure successfully completed.

时间: 2024-10-14 01:18:27

【转】Jmeter项目测试的相关文章

Jmeter 分布式测试

Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具提供更大的负载能力,jmeter短小精悍一有了使用多台机器同时产生负载的机制. 那么,是如何实现多台负载机同时运行的呢?当然不会多个人坐在多台负载机面前,一喊开始,大家同时启动jmeter.这种方式很笨,也很难达到真正的同步.其实,我们通过单个jmeter 客户端就可以控制多个远程的jmeter服务

Jmeter分布式测试

在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave). 2.执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的. 3.执行完成后,

【Fine原创】JMeter分布式测试中踩过的那些坑

最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈,一般线程加到100左右就会出现工具本身无法支撑的问题,广泛了解解决办法后,发现分布式部署测试机仍是首选方案. 关于如何配置jmeter分布式部署测试机很多博客上已经描述得很详细了,这里就不再赘述,可以参考虫师的博客: http://www.cnblogs.com/fnng/archive/2012/

【转】用JMeter来测试Tomcat的性能

JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http://jakarta.apache.org/jmeter/index.html下载源代码和查看相关文档. JMeter作用领域 JMeter可以用于测试静态或者动态资源的性能(文件.Servlets.Perl脚本.java对象.数据库和查询.ftp服务器或者其他的资源).JMeter用于模拟在服务器.网络或者其他对象上附加高负载以测试他们提供服务的受压能力

实验六:Bookstore项目测试缺陷报告

一.                 Bookstore项目测试缺陷报告 缺陷编号 01.01.0001 发现人 林臻 记录日期 2016-06-12 所属模块 购物车模块 确认人 林臻 确认日期 2016-06-12 当前状态 公开 严重度 3 优先级 3 问题概述 用户在加入购物车添加数量为0时,点击购买也能添加进购物车. 问 题 再 现 描 述 登录用户,选择图书分类,; 选择图书C++购买数量为1 ,查看购物车已添加; 选择图书Oracle购物数量为0,购买,查看购物车,书籍已添加; 图

菜鸟学Java(十九)——WEB项目测试好帮手,Maven+Jetty

做WEB开发,测试是一件很费时间的事情.所以我们就应该用更简单.更快捷的方式进行测试.今天就向大家介绍一个轻量级的容器--jetty.j今天说的etty是Maven的一个插件jetty-maven-plugin,与Maven配合起来使用非常的方便,它的配置也非常的简单,下面我们就看看它怎么用吧! 在pom.xml 文件的<project>标签下加入如下代码: <build> <plugins> <plugin> <groupId>org.mort

JMeter常用测试元件—学习笔记

线程组 Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间.假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转.每一个测试线程都会在上一个线程启动10秒之后才开始运行.假定共有30个线程,Ramp-Up Period为120秒,那么线程启动的间隔变为4秒. Ramp-Up参数不能设定得太短,否则在测试的初始阶段会给予服务器过大的压力.Ramp-Up参数也不能设定得太长,否则就会发生第一个线程已经执行完毕,而

Bookstore项目测试缺陷报告

Bookstore项目测试缺陷报告   缺陷编号:02.02.0028       发现人:林德     记录日期:2016.6.9 所属模块:购物车          确认人:林德     确认日期:2016.6.9 当前状态:公开                    严重度:2          优先级:2   问题概述:    购物车书籍数量没有变化.   问题再现描述: 1.进入购物车,增加书籍<C#实用教程>,数量为1: 2.再次购买该书籍2本,购物车该书籍数量不变(应该增加为3)

转载:JMeter压力测试入门教程[图文]

JMeter压力测试入门教程[图文] Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.Java小服务程序.CGI脚本.Java 对象.数据库, FTP服务器, 等等.JMeter 可以用于对服务器.网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能.另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验