【转】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.
【转】Jmeter项目测试的更多相关文章
- 【Fine原创】JMeter分布式测试中踩过的那些坑
最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈, ...
- 转:Jmeter分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- Jmeter --- 分布式测试
在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分 ...
- 【转】用JMeter来测试Tomcat的性能
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http://jakarta.apache.org/jmeter/ ...
- 【转】jmeter压力测试
jmeter压力测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域, 是压力测试的首选软件 ...
- 使用badboy录制脚本 结合Jmeter一起测试。
1.badboy介绍 Badboy是一款不错的Web自动化测试工具,如果你将它用于非商业用途,或者用于商业用途安装Badboy 的机器数量不超过5台,你是不需要为它支付任何费用的.Badboy提供了将 ...
- jmeter对接口测试入参进行MD5加密的5种方式
在使用jmeter做测试的过程中,经常需要对请求的入参进行加密,下面列举几种常用的方法,以登录请求密码需要MD5加密为例. 虽然可以先把参数化的明文密码都先md5加密,而不是在登录前先执行加密,但是实 ...
- JMeter常用测试元件—学习笔记
线程组 Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间.假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转 ...
- 【Alpha版本】项目测试
我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...
随机推荐
- Pandas迭代
Pandas对象之间的基本迭代的行为取决于类型.当迭代一个系列时,它被视为数组式,基本迭代产生这些值.其他数据结构,如:DataFrame和Panel,遵循类似惯例迭代对象的键. 简而言之,基本迭代( ...
- Java多线程 - 控制线程
join线程 在某个线程的执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join()方法加入的线程完成为止. join()方法有三种重载形式: join():等待被join的线程执 ...
- Java 各种锁的小结
一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下. 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁.轻量级锁.自旋锁 ...
- angular-schema-form 自动表单生成
基本用法 通过bower安装之后,将schemaForm模块载入到模块定义中,fuse中安装第三方包需要在app/core/core.module.js中声明. 然后在controller里面,将sc ...
- language model ——tensorflow 之RNN
代码结构 tf的代码看多了之后就知道其实官方代码的这个结构并不好: graph的构建和训练部分放在了一个文件中,至少也应该分开成model.py和train.py两个文件,model.py中只有一个P ...
- 【python】利用h5py存储数据
两类容器:group & dataset group类似文件夹,字典. dataset是数据集,类似数组 支持更多的对外透明的存储特征,数据压缩,误差检测,分块传输 group下面可以是gro ...
- 不用配置 , 快速搭建react环境
链接 create-react-app react-webpack-generators react-cli
- 一个 token 控件
用于以分词形式显示某个对象的多个标签,比如: 用法 将 TagsView.h/.m 文件拷贝到你的项目文件夹,在需要用到该控件的地方导入 TagsView.h 头文件. IB 中的工作 拖一个 UIV ...
- cmd 操作WinService
1.运行--〉cmd:打开cmd命令框 2.在命令行里定位到InstallUtil.exe所在的位置 InstallUtil.exe 默认的安装位置是在C:\Windows\Microsoft.NET ...
- xcode加载静态链接库.a文件总是失败
明明项目是对的,代码没有问题,并且把项目作为库项目引入到新项目中没问题,可是一旦把项目编译出.a文件,引入到新项目中不知为何会有几率出现一大堆错误,其实是xcode的缓存机制在作怪,去这个目录: /U ...