LoadRunner惠普的强大, 很好用, 要钱
a,支持的协议多且个别协议支持的版本比较高;
b,负载压力测试方案设置灵活;特点c,丰富的资源监控;
d,报告可以导出到Word、Excel以及HTML格式。
Jmeter Apache开源工具强大(接近Loadrunner), 很好用
QALoad的特点:
(1)测试接口多;(2)可预测系统性能;(3)通过重复测试寻找瓶颈问题;(4)从控制中
心管理全局负载测试;(5)可验证应用的扩展性;(6)快速创建仿真的负载测试;(7)性能价格比较高。此外,QALoad不单单测试Web应用,还可以
测试一些后台的东西,比如SQL Server等。只要它支持的协议,都可以测试。
Benchmark Factory:
首先它可以测试服务器群集的性能;其次,可以实施基准测试;最后,可以生成高级脚本。
SilkPerformance:
E-Test
Suite由Empirix公司开发的测试软件,能够和被测试应用软件无缝结合的Web应用测试工具。工具包含e-Tester、e-Load和e-
Monitor,这三种工具分别对应功能测试、压力测试以及应用监控,每一部分功能相互独立,测试过程又可彼此协同。
JMeter是一个专门为运行和服务器负载测试而设计、
100%的纯Java桌面运行程序。原先它是为Web/>使用LR对数据库进行性能测试,实际上有多种办法,包括通过现有的数据库协议进行CS模式的先录制后执行的模式,以及通过socket方式向服务器发包方式的测试方式。这些是常规书籍上介绍的比较简单上手的测试方法,但是不具备通用性,受已有协议或socket编程方式的限制,所以需要更为通用的测试方法。
用Java user的协议进行所有数据库性能的测试工作:
Java user 不需要录制,把所有的 *** 作通过java语言进行实现,通过lr调用java的class进行加压批量 *** 作,这样可以不关心被测系统是哪个数据库,只要能够通过jdbc进行访问,就能实现性能测试。
一、测试环境准备
1 被测服务器准备,根据测试目的,搭建需要的数据库服务器,确保数据库能够正常访问,正常 *** 作;
2 Java代码的准备,无论使用哪种IDE,只要能够编写访问数据库的class就可以,形式可以是j2se,也可以是j2ee,因为在 *** 作时只使用class的部分方法,所以j2ee就可以了;
3 LR的脚本调试,把java的class导入到脚本调试模式,根据需要添加事务以及其他 *** 作。
二、编写数据库访问
1 使用myeclipse,创建web project,创建如下图的包目录:
Java文件中包含各种访问数据库的方法。
需要注意的是,class中的方法必须是public static,否则LR中无法调用。由于创建的是j2ee程序,所以不用main函数,在web中就可以进行功能验证。
确认class中的方法编写完成,创建一个webjsp文件,如下:
导入class
声明类,并实例化,直接调用刚才编写的3个方法,因为这3个方法是直接对数据库进行 *** 作,不需要实参,也没有返回值,所以直接实现即可。
此时启动web服务,在浏览器中输入jsp的地址,直接刷新页面,就可以调用这3个方法,如果正确,就会对相应的表进行 *** 作,如果不正确,则需要修改相应的代码。
2 LR脚本准备:
LR脚本实际上就是对访问代码的调用,关键在于需要根据测试场景划分不同的脚本布局。
例如:在myEclipse里,我们只编写了一个class,其中包含三个方法,如果在执行性能测试时,这三个方法相互独立,互不干涉,则最简单的划分方法是,创建三个java user,每个java user中包含一个方法,做三份脚本,场景执行时分别进行调用。如果三个方法之间有相互关系,则需要根据实际情况,把有关联的方法放在一起,具体情况可按实际灵活分配。
因为已经将class文件进行编译发布了,所以可以在“java2postgres\WebRoot\WEB-INF\classes\com\lr\test”目录中找到对应的class文件,
复制这个文件,找到LR的目录:HP\LoadRunner\classes\com\lr\test\ 如果没有文件夹,按相同的内容创建。
在LR脚本中进行引包 *** 作:
将需要执行的java类以及方法,放在action中,可根据实际测试情况和所需要验证的内容,具体调试代码。
在这里可以像编写普通LR脚本一样,添加事务或集合点等内容。
由于是通过JDBC对数据库进行访问,因此要在java user中加载jdbc驱动。
运行时设置中,增加jdbc驱动,需要注意的是java user使用的本地jdk,需要至多16版本,若使用17版本,回放会有错误,这是jdk版本的问题。
*** 作完成之后,按F5或点击运行,进行脚本回放,实际此时也对数据库进行了 *** 作,可以直接查询对应的表,检查功能是否正确。
三、执行性能测试
已经有了java user的脚本,和普通web性能测试一样,设计场景、执行测试、收集报告、分析性能瓶颈即可。1不将LR装到服务器上是可以测试服务器的性能的。因为LR可以配置,链接到服务器上读服务器的各种参数。
2LR测试的当然是服务器的性能了。录制脚本的目的是模拟大量人访问数据库,然后分析脚本的运行结果可以间接的知道服务器的性能,直接访问服务器的各项服务及硬件的运行参数也可以分析出服务器的性能软件性能测试本身是一个比较复杂的事情:
1、您的测试方向是什么?到底测试的是哪个方面的事情:网络、服务器性能、内存、硬盘等;
2、您测试项目的允许的代价是什么?到底要求达到一个什么程度,有些性能测试是要求一定的运行时间的,到底项目是否允许;
3、您测试的软件是什么平台构架的?这个关系非常大,不同的平台代表不同的测试工具、测试策略、测试辅助资源等。
向您介绍几款软件:
1、要想通用,就直接用LoadRunner 11,几乎所有软件平台都能测试,而且能直接出各种性能参数报告,缺点是稍微复杂一点,最麻烦的是选择测试目标的平台构架,您必须学一下(其实还好,我用了1个星期学了个7、8成,后边只能在使用过程中摸索了);(这个可不免费哦!不过您能找到破解版的自己学习用。)
2、如果专门测试数据库,都有相应的数据库性能测试工具,例如Oracle有个叫oraStress的东西;
3、如果做网站压力测试,我推荐微软的官方免费工具:WebApplicationStressTool,用起来也挺简单的;
4、如果您有的是资源(很多台计算,数量>=50),而且测试要求不太严谨的话,用按键精灵进行“单机多任务加载,多机同步持续运行”也能起到模拟压力的作用,不过服务器端得配合安装一个系统监控软件(这方面的工具比较多例如windows自带的PerfMonitor,System Information for Windows,TaskMonitor等),要不无法观察压力测试的效果、分析问题。(说实话,别看这种方法蠢,有时候最能说明客户端的实际效果。)
希望回答对您有帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)