搜档网
当前位置:搜档网 › 利用jmeter java请求开启端口转发对远程数据库进行压力测试

利用jmeter java请求开启端口转发对远程数据库进行压力测试

利用jmeter java请求开启端口转发对远程数据库进行压力测试
利用jmeter java请求开启端口转发对远程数据库进行压力测试

利用jmeter java sample端口转发实现对远

程数据库的压力测试

1需求背景

对数据库进行压力测试时,需要模拟同一时间大量的sql请求发送,借助于jmeter的sql请求可以实现,但是对RDS来说,需要进行端口映射(跳板机)访问远程数据库,对于单线程手工测试来说,可以直接通过CRT进行端口跳转访问,但是对于多线程并发访问时,各个线程都需要开启端口映射,此时CRT无法满足,借助于第三方插件,通过定制jmeter脚本,可以帮助我们实现测试目标。

2工具/包

2.1 Apache-jmeter

Jmeter支持java语言,是一个开源的性能测试工具,通过扩展,可以实现非常丰富的功能,本讲义中的版本是2.11,jmeter的安装配置过程略

2.2 eclipse

在eclipse中写java sample插件,eclipse的安装配置过程略

2.3Com.jcraft.jsch

一个开源的第三方JAR包,主要利用它来进行端口映射

3 插件开发

3.1 新建工程

新建一个java工程,将下载下来的Com.jcraft.jsch源码导入,并新建一个package,用于编写java sample,结构如图所示。

3.2 配置buildpath

将%JMETER_HOME%\lib 及%JMETER_HOME%\lib\ext导入

3.3 Constants类

该类主要配置运行参数,例如数据库连接,用户名,数据库密码,端口号等,如果这些变量基本是不变的话可以写在Constants里。

/*Constant.java*/

package startSSH;

publicclass Constants {

staticfinal String driver="com.mysql.jdbc.Driver";

staticfinal String connServer="jdbc:mysql://localhost:12306/";

staticfinal String dataBase="ccms_qinjiaoshou";

staticfinal String userName="*******";

staticfinal String passWord="*******";

staticfinal String ssh_server="******";

staticfinalint ssh_server_port=22;

staticfinal String ssh_loginName="yang.yang";

staticfinal String ssh_loginPassword="***********";

staticfinalint local_port=12306;

staticfinalint remote_port=3306;

staticfinal String remote_server="******";

staticfinal String

ZH_Encoding="?useUnicode=true&characterEncoding=utf8&autoReconnect=tr ue&allowMultiQueries=true";

}

3.4 openSSH类

在openSSH中,定义了参数以及默认值,并开启端口转发,以及由于环境问题,这些参数并不是固定的,这种写死在代码中的方式就不灵活,JMETER 提供了读取参数的方法,参见/*openSSH.java*/

如图

入口函数

入口函数是为了让jmeter找到对应的函数入口,见图

注意,端口应该作参数化处理,多个线程占用一个端口会出现连接失败的问题。一个SQL 请求结束后,应释放该线程占用的端口资源,需要将该线程已占用的端口关闭。

3.5 closeSSH类

该类主要用于释放线程占用的端口

/*closeSSH.java*/

入口函数:

4 连接测试

4.1 Jar包导出

分别将项目导出为JAR包,导出2次,命名为openSSH.jar 和closeSSH.jar,分别用于开启端口sample 以及关闭关口sample

导出时注意选择对应的入口函数

将2个jar文件以及mysqljdbc jar 放到%JMETER_home%\lib\ext目录下,然后以admin身份运行jmeter。

4.2 javasample

在Jmeter中新建线程组,定义一个用户定义变量以保存随机端口号,新建java sample

该java请求用于打开端口,选择类名称,填入适当的参数,注意localport那一栏填写随机值。

4.3 sql sample

首先配置JDBC连接

注意:Variable Name不能为空;最大连接数设置要>jmeter线程数,端口号用随机数替代配置完jdbc连接后,新建sql请求就可以了

最后加上关闭端口的java sample

开始测试,注意观察jmeter console日志及sql结果树

可见打开了57734的端口映射,而且正确进行了查询,成功实现了模拟SSH进行端口转发的需求。

谢谢,如有不足之处,请与

yongjun.qin@https://www.sodocs.net/doc/382076092.html, 联系

软件测试中负载压力测试主流工具介绍

软件测试中负载压力测试主流工具介绍 从软件性能测试的发展前景来看,对于工具的依赖性会越来越强。可以预见,在不久的将来,专门从事软件性能测试的软件工具会形成一个不小的市场。目前,市场上的性能测试的工具种类已经很多,但从其工作的侧重点上,可以将这些工具简单的划分为以下四种:负载压力测试工具、资源监控工具、故障定位工具以及调优工具。下面主要介绍一下负载压力测试工具。 负载性能测试工具的原理是通过录制、回放脚本、模拟多用户同时访问被测试系统,制造负载,产生并记录各种性能指标,生成分析结果,从而完成性能测试的任务。 目前,主流的负载性能测试工具有: QA Load 这是Compuware公司开发的一套针对客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。

QALoad是QACenter性能版的一部分,它通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能。QACenter汇集完整的跨企业的自动测试产品,专为提高软件质量而设计。QACenter可以在整个开发生命周期、跨越多种平台、自动执行测试任务。 SilkPerformer: 这是一款在工业领域最高级的企业级负载测试工具。不管企业电子商务应用的规模大小及其复杂性,通过SilkPerformer,均可以在部署前预测它的性能。它可以模仿成千上万的用户在多协议和多计算的环境下工作。可视的用户化界面、实时的性能监控和强大的管理报告可以帮助我们迅速的解决问题,可以通过最小的测试周期保证系统的可靠性,优化性能和确保应用的可扩充性。 LoadRunner: 这是由HP公司开发的一款较高规模适应性的,自动负载测试工具。

负载测试压力测试强度测试和容量测试的比较

负载测试压力测试强度测试和容量测试的比较 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

Stree Testing(压力测试),检查被测系统在恶劣环境下的表现,比如内存不足,CPU高负荷,网速慢,等等。在这种情况下,被测系统往往运行缓慢,能暴露许多在高速运行时不易发生的问题,例如线程不同步。压力测试是测试系统在非正常的、超负荷的条件下的运行情况,用来评估在超越最大负载的情况下系统将如何运行,考验系统在正常的情况下对某种负载强度的承受能力。压力测试就是一种破坏性的测试,用以判断系统的稳定性和可靠性。一般把压力描述为“CPU使用率达到75%以上,内存使用率达到70%以上”。 Load Testing(负载测试),检查被测系统处理大量用户访问或事务的能力。负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。 ? Volume Testing(容量测试),检查被测系统处理大数据量的能力,例如存储或读取一个超长的文件。确定系统可处理同时在线的最大用户数。强度测试(Stress Test):强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。 其中,容量测试、负载测试、强度测试的英文解释为: Volume Testing = Large amounts of data

Load Testing = Large amount of users Stress Testing = Too many users, too much data, too little time and too little room 下面举个跑步的例子进行解释。 性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准)? 负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间? 强度测试,是在强度情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间 这么看:压力测试是测试系统什么情况下失效或者崩溃;负载测试是测试系统什么情况下超出需求指标;强度测试是测试系统在瞬时高负载、长时间负载情况下系统反应;容量测试是测试系统在大数据量交互的反应! Bs结构程序一般会关注的通用指标如下(简): Web服务器指标指标: Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数; * Avg time to last byte per terstion (mstes): 平均每秒业务角本的迭代次数 ,有人会把这两者混淆;

oracle上配置压力测试工具

Windows 下的HAMMERRORA压力测试工具使用 ◆一:下载工具:hammerora-2.0-Win-x86.exe ◆二:创建路径:C:\oracle\instantclient ◆三:安装hammerora-2.0-Win-x86.exe,默认安装路径要修改为:C:\oracle\instantclient。否则出现不了成功的界面。 ◆四:配置环境变量: 在用户变量的path中增加:C:\oracle\instantclient 在系统变量中增加: TNS_ADMIN E:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora ◆五:编写脚本:(只有红色的这部分需要修改) package require Oratcl set connect club/club@192.168.15.45 puts "logging on to $connect.." set lda [oralogon $connect] set curn1 [oraopen $lda ] set sql1 "select 'feng ' || user from dual" orasql $curn1 $sql1 after 40000 oraclose $curn1 oralogoff $lda puts "connection closed" ◆六:设置virtual user ,并且load virtual user,就是两个人头的就是load virtual users; ◆七:开始测试:(两个人头变成了红色,而红色边上的就是run hammerora)

压力测试软件用户使用说明书

压力测试软件用户使用说明书 系统运行环境: 本软件适用于运行在Windows 98 操作系统下,且系统的分辨率必须设为1024 * 768 模式。(在窗口上单击鼠标右键,选择“属性”,再选择“设置”,把屏幕区域设为1024 * 768 即可)。 系统介绍: 一、 双击“压力测试.exe ”文件后,就进入本软件的友好用户界面,单击“确定”按钮后,弹出口令输入对话框,在您正确输入密码(默认初始密码为111)后就进入到本软件的使用界面中。 二、 在使用界面中,共有六个菜单选项,分别为“压力试验”、“数据查询”、“数据上传”、“打印功能”、“检验报告”和“系统帮助”。在打开新的功能选项时,请先退出正在使用的功能选项。 1、压力试验 在本功能菜单选项中,有“进行试验”和“退出试验”两个功能选项,单击“进行试验”选项,您会在窗口的右侧弹出一块名为“下位机通信功能模块”的操作控制对话框,单击“退出试验”选项,则退出压力试验。 1.1下位机通信功能模块 在下位机通信功能模块上,共有七个功能按钮,分别为“初始化连接”、“实时数据”、“实时报表”、“数据传输”、“上传数据块”、“全局报警”和“退出”。

1.1.1、初始化连接 单击初始化连接按钮后,软件自动发送信息给下位机,从而建立软件与下位机之间数据连接的通道,为下面功能的实现提供了基础。 1.1.2、实时数据 在完成了初始化连接之后,单击实时数据按钮,您会看到整个窗口界面进入了实时数据操作界面,在下位机的电机启动之后,您将会看到界面上描绘出了当前所作试验的实时数据的曲线,坐标的横轴标明了时间(单位:秒),坐标的纵轴标明了压力值(单位:千牛顿)。在界面的上部,您会看到当前软件所接收到的一系列数值,有“当前力值”、“当前时间”、“当前速率”、“当前截面积”、“当前MPa(兆帕)值”和“当前龄期”。 当接收到峰值后,曲线将停留在接收到峰值的刹那间,并且在操控面板的下方将会出现达到峰值时的数值和MPa的数值,从而完成一次试验。这时可以打印出实时数据曲线图(打印规格为:在打印设置中设定为 A4纸、横向)。 当接收到下位机传来的重启命令后,方可进行下一次试验。 1.1.3、实时报表 在接收到峰值后,单击实时报表按钮,这时在报表中统计罗列出了本次试验中每一个时间间隔上的压力值。可以打印出该报表(打印规格为:在打印设置中设定为 A4纸、纵向),并且可以在打印预览中查看该报表。 1.1.4、数据传输 在按下本按钮后,下位机就会将当前下位机中所存储的数据的长度传送给本软件。在接收到下位机传来的数据长度后,您就可以在传数据地址中设定所要传输的数据在下位机中的起始地址到终止地址的数据,本软件考虑到各种综合因素,设定一次传输的最大限度为50条数据。如果您所要的数据的总长超过50条,则可以分批进行传输(例如:您想要100条数据,第一次设定传输1~50条,第二次设定传输51~100条即可)。

接口压力测试报告

性能测试报告(****接口服务系统) 2016年12月22日

目录 1.测试目的、范围 (3) 1.1.测试目的 (3) 1.2.测试指标范围 (3) 2.测试环境 (3) 2.1.测试环境 (3) 2.2.测试工具 (3) 3.测试功能点 (4) 4.准备工作 (4) 5.测试用例及结果 (4)

1.测试目的、范围 1.1.测试目的 本次性能测试的目的是检测****接口服务系统的性能情况。即:为了系统上线后能够稳定运行,有必要在上线前对核心业务场景的压力情况有充分了解。因此,希望在模拟生产环境的情况下,模拟上线后的用户并发数,对系统核心业务进行压力测试,收集相应的系统参数,并最终作为上线的依据。编写本方案的目的是指导本次性能测试有序的进行,相关人员了解本次性能测试。 1.2.测试指标范围 本次性能测试需要获得的性能指标如下所列: ?系统的响应时间。 ?系统可支持的并发用户数量。 2.测试环境 模拟客户使用环境(最好模拟客户实际使用的配置环境)。具体如下: 2.1.测试环境 硬件环境: 应用服务器数量:1台 配置:4核心8G内存 数据库服务器数量:1台 配置:16核心40G内存 测试客户端数量:1台 配置:双核心8G内存 软件环境: 操作系统:Windows 7 数据库: Oracle 10g 2.2.测试工具 Loadrunner11 Xshell

3.测试功能点 本次测试****接口访问时的响应时间及并发量瓶颈。 4.准备工作 1)测试功能点全部通过功能测试,确保功能上没有问题; 2)准备测试环境服务器: 3)准备测试客户机,机器安装Loadrunner11; 4)对于测试功能点,事先录制好相应的测试脚本,包括参数化、关联等,准备好测试数据,脚本能够成功的回放,保证在测试的时候能够顺利的运行; 5)创建测试场景,并配置好每个场景的设置; 6)测试过程中保存好脚本和分析结果。 5.测试用例及结果 本次主要测试访问接口时接口服务所能承受的压力,测试接口无需登录,直接访问即可,因此不存在同一用户与不同用户访问的差异。 由下表测试结果可看出当并发数增大时,响应时间逐渐增大,服务器所受压力也逐渐增大。 本次测试环境数据库最大线程为600。当并发数大于500时,测试环境服务器CPU使用率溢出,测试过程中报出错误数过多。主要错误类型为:27740: 将请求的传输重叠到 URL的“192.168.71.92”时失败: “WSA_IO_PENDING”;27791:Server“192.168.1.77″ has shut down the connection prematurely。经过和开发沟通,解决了27740类型的BUG,但并发数为600时仍有过多超时错误。 当并发数设为500时,运行过程中仍然出现了2个错误,但是在整个操作中占比小于0.1%。 具体测试数据如下:

网站压力测试

网站压力测试 1.数据库测试 测试准备: ★测试环境: OS:Windows Database:MYSQL ★创建数据库: 使用“Phpadmin”在数据库服务器上打开数据库,并且设置其大小为5GB,以避免在默认容量大小下,随着数据库容量增加而导致服务器动态分配磁盘空间的时候引起开销。 ★并且我们在系统下。测试程序主要完成一下的功能: 1、插入3000条数据(insert) 2、选择2000条数据(select) 3、更新3000条数据(update) 4、删除5000条数据(delete) 5、插入5000条带图片数据(用于大容量测试)/插入3000条不带图片测试(用于大记录量测试) 测试过程 整个测试过程分为大容量数据测试和大记录量数据测试: 大容量数据测试: 在大容量的数据测试中,我们通过插入图片来使数据库的容量膨胀,所以在以下的所有数据库操作中,例如插入数据,都是指的插入带图片的数据。测试中选择了一张41,958字节的图片,并且大容量测试是在插入3000条记录以后的测试,因此我们可以大致估计当时的数据表的容量为(41958 * 3000) / (1024 * 1024) =120.04MB

同样按照以上的的步骤进行测试:“插入3000条纪录->选择2000条记录->更新3000条记录->删除5000条记录”,并记录下各操作的时间,如下: Insert 3000条纪录Select 2000条纪录Update 3000条纪录Delete 5000条纪录 8.85S 7.63S 0.971 S 2.264 S 上面的测试是在空数据表中进行数据库各种基本操作的测试,并且记录了所需要的时间。然后我们插入3000条带有图片的纪录,使数据表的数据量膨胀到120.04MB,接下来的工作就是测试大容量环境下的各种数据库操作情况。 同样按照以上的的步骤进行测试:“插入3000条纪录->选择2000条记录->更新3000条记录->删除5000条记录”,并记录下各操作的时间,如下: Insert 3000条纪录 Select 2000条 纪录 Update 3000条 纪录 Delete 5000条纪 录 9.802 S 9.32 S 0.971 S 2.264 S 通过比较可以看出本系统Update的反应速度更快。 总结:虽然在测试中,因为很多的MYSQL操作因为所需要的时间过短,而导致受到网络传输的影响。但是我们仍然可以通过所需时间较长的MYSQL操作进行总结:无论是在大容量(数GB单位)还是大记录量(百万条记录量)环境下,本系统的数据库的性能都能保持较高的水平。反应速度也完全能够满足我们通常的实际应用。 但是因为硬件等条件的限制下,我们无法对更大容量(十GB、百GB乃至TB容量级),更大记录量(千万,亿级数据量)的环境下进行测试。 2.web系统测试 网络环境:公司内部的以太网,与服务器的连接速率为100.0M,与客户端的连接速率为10/100M自适应。 配置: 设备硬件配置软件配置

压力测试功能测试

压力测试实例 利用现代的设计技术和正式的技术复审可以减少代码中存在的初始错误,但是错误总是存在的,如果开发者找不到错误,那么,客户就会找到它们。越来越多的软件组织认识到软件测试是软件质量保证的重要元素之一,很多软件开发组织将30%—40%甚至更多的项目资源用在测试上,软件测试技术和软件测试策略受到了高度的重视和广泛的应用。 本文不想就软件测试技术和软件测试策略作深入的理论分析,而是列举一个在软件系统测试阶段进行的压力测试实例,希望能通过这个实例与从事软件测试相关工作的朋友进行交流。 首先介绍一下实例中软件的项目背景,该软件是一个典型的三层C/S架构的MIS系统(客户端/应用服务器/数据库管),中间层是业务逻辑层,应用服务器处理所有的业务逻辑,但应用服务器本身不提供负载均衡的能力,而是利用开发工具提供的ORB(对象请求代理)软件保证多个应用服务器间的负载均衡。本次测试的目的是:进行单个应用服务器的压力测试,找出单个应用服务器能够支持的最大客户端数。测试压力估算的依据是:假定在实际环中,用户只启用一个应用服务器进行所有的业务处理。方法是:按照正常业务压力估算值的1~10倍进行测试,考察应用服务器的运行情况。 压力测试的详细计划如下: 压力测试计划 1、测试计划名称 河北省公安交通管理信息系统压力测试计划。 2、测试内容 2.1背景 本次测试中的压力测试是指模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。 用户的实际使用环境: ◇由两台IBM XSeries250 PC Server组成的Microsoft Cluster; ◇数据库管理系统采用Oracle8.1.6; ◇应用服务器程序和数据库管理系统同时运行在Microsoft Cluster上。 ◇有200个用户使用客户端软件进行业务处理,每年通过软件进行处理的总业务量为:150万笔业务/年。 2.2测试项 应用服务器的压力测试; 2.3不被测试的特性 ◇系统的客户端应用程序的内部功能; ◇数据库中的数据量对程序性能的影响。 3、测试计划 3.1测试强度估算

利用jmeter对mysql数据库进行压力测试

利用jmeter对mysql数据库进行压力测试 前期准备工作: Jmeter的安装包可以在公司W:\engineering\software\linux\jmeter下可以找到。Jmeter的运行需要java环境的支持的,要运行jmeter首先要安装JDK java 运行环境,此安装包可以在公司的W:\engineering\software\linux\java 下找到。此外要使用jmeter对mysql进行压力测试还要安装mysql的JDBC驱动,例如驱动包mysql-connector-java-5.1.14-bin 放到jmeter的解压包下的lib文件夹下。这样测试环境就部署好了,接下来进行测试计划的创建。 创建测试计划: 1.添加用户 (1)添加线程组 测试计划→添加→线程组,如下图所示。 “线程数”表示的是JMeter会同时创建多少个线程来进行压力测试,对于一个网站而言,也就是模拟一次存在多少个用户来访问该网站;而“Ramp-Up Period(in seconds)”表示JMeter每个秒发动多少并发;“循环次数”则是指配置好的并发情形发生多少次。

这里新增一个线程组,重命名为“JDBC USER”,如下图所示。 (2) 在“线程组”下创建一个“User Defined Variables” JDBC USER →天加 --> 配置元器件→用户自定义的变量 即用户自定义变量,重命名为“我们定义的动态语句部分”,这里我们使用它来生成动态SQL语句,让用户每次访问数据库的SQL语句都不一样,这样减少mysql数据库对相同SQL语句的缓存对测试结果所带来的影响。 可以用ctrl + F 来打开函数代码辅助工具生成我们所需的函数调用。

压力测试服务器性能监视要点及方法

操作系统监视: 主要包括3台web服务器和两台oracle数据库服务器,压力测试时针对WEB服务器主要监控负载是否均衡,关注各个服务器的CPU、内存、磁盘I/O的性能 是否能够满足高并发情况下的需求,主要通过vmstat 2 查看CPU使用率、内 存使用、虚拟内存交换情况、I/O读写情况,如果发现性能问题可配合top 命令和iostat确定性能的瓶颈所在。 root@ubuntu:~# vmstat 2 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 3499840 315836 3819660 0 0 0 1 2 0 0 0 100 0 0 0 3499584 315836 3819660 0 0 0 0 88 158 0 0 100 0 0 0 3499708 315836 3819660 0 0 0 2 86 162 0 0 100 0 0 0 3499708 315836 3819660 0 0 0 10 81 151 0 0 100 0 0 0 3499732 315836 3819660 0 0 0 2 83 154 0 0 100 0 r 表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU 瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的 运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。 b 表示阻塞的进程,这个不多说,进程阻塞,大家懂的。

数据库压力测试方案

性能测试方案

目录 前言 (3) 1第一章系统性能测试概述 (3) 1.1 被测系统定义 (3) 1.1.1 功能简介 (4) 1.1.2 性能测试指标 (4) 1.2 系统结构及流程 (4) 1.2.1 系统总体结构 (4) 1.2.2 功能模块描述 (4) 1.2.3 业务流程 (5) 1.2.4 系统的关键点描述(KP) ......................................................... 错误!未定义书签。 1.3 性能测试环境 (5) 2 第二章性能测试 .............................................................................................. 错误!未定义书签。 2.1 压力测试 ................................................................................................. 错误!未定义书签。 2.1.1 压力测试概述 .............................................................................. 错误!未定义书签。 2.1.2 测试目的 ...................................................................................... 错误!未定义书签。 2.1.3 测试方法及测试用例 .................................................................. 错误!未定义书签。 2.1.4 测试指标及期望 (8) 2.1.5 测试数据准备 (9) 2.1.6 运行状况记录 ............................................................................ 错误!未定义书签。9 3第三章测试过程及结果描述 ......................................................................... 错误!未定义书签。0 3.1 测试描述 ................................................................................................. 错误!未定义书签。 3.2 测试场景 ................................................................................................. 错误!未定义书签。 3.3 测试结果 ................................................................................................. 错误!未定义书签。 4 第四章测试报告 .............................................................................................. 错误!未定义书签。 2

JMeter+MySQL数据库压力测试(下载后可百度私信索要所有软件和文档)模板

MySQL 数据库压力测试(win7_x64) 1 需要准备的软件 mysql (首先,你得有数据库软件) NavicatForMySQL (mysql数据库管理工具) Apache JMeter (著名压力测试软件) JDK (Apache JMeter运行需要JAVA环境) mysql-connector-java.jar (MySQL官方JDBC驱动程序) 2 详细步骤 2.1 mysql 安装mysql(详情见教程:Windows7安装和配置MySql5.7.11.zip)测试mysql是否正确安装: cd mysql的bin目录 mysql -uroot -p 输入密码 结果如下图: 创建数据库并导入数据: mysql>CREATE DATABASE s607; //创建一个数据库 mysql>use s607; //指定s607为当前要操作的数据库 mysql> SOURCE d:/s607.sql; //导入d盘根目录下的s607.sql文件

2.2 JAVA运行环境 安装JDK 配置如下环境变量: 新建系统变量名JAVA_HOME 变量值C:\Java\jdk1.8.0_73; (C:\Java\jdk1.8.0_73为JDK目录) 新建系统变量名CLASSPATH 变量值.;%JAVA_HOME%\jre\lib\ext; (最前面有一个点) 找到系统变量名Path 末尾添加变量值;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (最前面有一个分号) 测试JAVA环境: java -version 2.3 JMeter 2.3.1 配置JDBC 将JDBC驱动程序mysql-connector-java-5.1.38-bin.jar放到Java的环境变量下,具体路径:C:\Java\jdk1.8.0_73\jre\lib\ext 2.3.2 运行jmeter.bat打开jmeter 2.3.3 测试计划 修改测试计划名称:mysql压力测试计划 在Add directory or jar to classpath处-———浏览———选择 C:\Java\jdk1.8.0_73\jre\lib\ext\mysql-connector-java-5.1.38-bin.jar 2.3.4 线程组 在测试计划下添加线程组

压力测试方案

压力测试方案 Xx软件技术有限公司 2012-04

目录 1概述 (2) 1.1简介 (2) 1.2目的 (2) 1.3定义 (2) 2测试环境 (2) 2.1网络 (2) 2.2应用服务器 (3) 2.3数据库服务器 (3) 2.4测试机 (4) 2.5条件与限制 (4) 3测试工具 (5) 3.1测试工具 (5) 3.2工具简介 (5) 4测试数据 (5) 4.1交易类 (5) 4.2简单查询类 (6) 4.3复杂查询类 (6) 5测试方法及步骤 (6) 6测试结果 (7)

1概述 1.1简介 软件压力测试是软件质量保证的一项基本行为,是每个重要软件测试工作的一部分。软件压力测试是指对系统不断施加压力的情况下,根据系统各项指标的变化情况来判断: 1、系统可能存在的瓶颈; 2、系统负载能力; 3、系统正常运行情况下的运行效率。 1.2目的 通过压力测试,判断当前应用环境情况下系统的负载能力,为今后应用范围扩大,用户量上升后,服务器扩容、升级等提供必要的技术支撑,及服务器规划等。 1.3定义 2测试环境 2.1网络 为了尽量避免网络传输给压力测试结果带来的影响,我们选取内部局

域网作为压力测试的网络环境。网络框图如下: 2.2应用服务器 应用服务器即WEB服务器,是压力测试的主要对象。应用服务器为目前正式环境中运行的服务器,应用服务器配置不同,其压力测试结果也不一致。 应用服务器配置如下: 2.3数据库服务器 数据库服务器是用来数据存储的服务器。数据库服务器不作为本次压力测试服务器的对象,及在压力测试过程中忽略了数据库服务器可能带来的影响,以及瓶颈。 在一般WEB应用系统中,数据库服务器的配置要远远高于WEB应用服务器的配置。 数据库服务器配置如下:

如何对数据库进行测试

如何对数据库进行测试 2011-01-20 15:35:20| 分类:软件开发小技巧|字号大中小订阅 数据库测试软件测试 随着软件业的迅猛发展,我们的开发也从以前的单层结构进入了三层架构甚至现在多层架构的设计,而数据库从以前一个默默无闻的后台仓库,逐渐成为了数据库系统,而数据库开发设计人员成为了炙手可热的核心人员。以前我们往往把数据库操作写在应用层,从而提高各个模块的独立性和易用性,而现在越来越多的数据库操作被作为存储过程直接放在数据库上进行执行来提高执行效率和提高安全性。 数据库开发既然在软件开发的比重逐步提高,随之而来的问题也突出。我们以前往往重视对代码的测试工作,随着流程技术的日益完善,软件质量得到了大幅度的提高,但数据库方面的测试仍然处于空白。我们从来没有真正将数据库作为一个独立的系统进行测试,而是通过对代码的测试工作间接对数据库进行一定的测试。随着数据库开发的日益升温,数据库测试也需要独立出来进行符合自身特点的测试工作。数据库开发和应用开发并没有实质上的区别,所以软件测试的方法同样适用于数据库测试 从测试过程的角度来说我们也可以把数据库测试分为 系统测试 传统软件系统测试的测试重点是需求覆盖,而对于我们的数据库测试同样也需要对需求覆盖进行保证。那么数据库在初期设计中也需要对这个进行分析,测试.例如存储过程,视图,触发器,约束,规则等我们都需要进行需求的验证确保这些功能设计是符合需求的.另一方面我们需要确认数据库设计文档和最终的数据库相同,当设计文档变化时我们同样要验证改修改是否落实到数据库上。

这个阶段我们的测试主要通过数据库设计评审来实现。 集成测试 集成测试是主要针对接口进行的测试工作,从数据库的角度来说和普通测试稍微有些区别对于数据库测试来说,需要考虑的是 数据项的修改操作 数据项的增加操作 数据项的删除操作 数据表增加满 数据表删除空 删除空表中的记录 数据表的并发操作 针对存储过程的接口测试 结合业务逻辑做关联表的接口测试 同样我们需要对这些接口考虑采用等价类、边界值、错误猜测等方法进行测试 单元测试 单元测试侧重于逻辑覆盖,相对对于复杂的代码来说,数据库开发的单元测试相对简单些,可以通过语句覆盖和走读的方式完成 系统测试相对来说比较困难,这要求有很高的数据库设计能力和丰富的数据库测试经验。而集成测试和单元测试就相对简单了。 而我们也可以从测试关注点的角度对数据库进行分类

软件压力测试报告

学生选课系统软件压力测试报告 南通环宇网络科技有限公司 撰稿人:曹锋 时间:2012 年7 月12 日

目录 1.测试项目: (2) 1.1功能描述: (2) 1.2测试项目描述: (3) 2.测试环境: (3) 2.1 服务器端测试环境描述: (3) 2.2 客户端测试环境描述: (3) 2.3 网络测试环境描述: (4) 3.测试人与测试时间: (4) 4.测试案例的测试结果: (7) 5. 测试总结: (7) 1.测试项目: 1.1功能描述: 软件压力测试是对软件最后综合测试其性能特性的最重要的手段之一,通过模拟大批量用户的对软件进行不同页面的操作来获取每个页面执行时间,从而可以预测系统在大量用户同时并发产生大量数量的情况下,系统可以响应的时间及服务器资源占用等性能情况。 本文主要描述了通过《学生选课系统软件》对服务器进行多重压力测试的过程及结果。 本次测试主要关心的指标: 平均响应时间 总用时 服务器CPU利用率

内存占用等。 1.2测试项目描述: 1.2.1场景一: 该场景并发**个用户,用*台机器实现,每台并发*个用户。同时用*个用户进行**操作,循环*次。 1.2.2场景二:… 2.测试环境: 2.1 服务器端测试环境描述: 硬件配置:(联想 LXr 8500 Server 双PIIIXeon/900 (2MB Cache)、4GB内存、2个36GB 硬盘、双网卡) 软件配置:(Windows 2000 Server、数据库等) 2.2 客户端测试环境描述: 1号测试用机: 硬件配置:(酷睿i5 2400 内存容量: 4G 显卡容量: 1G) 软件配置:(例如win7 Professional、旗舰版) 2号测试用机: 硬件配置:(四核AMD631*4 内存容量: 2G 显卡容量: 512k)

服务器压力测试报告

压力测试报告 Document ID Revision Confidential

目录 目录 (2) 1. 引言 (4) 1.1 编写目的 (4) 1.2 术语缩写词 (4) 2. 系统介绍 (4) 3. 测试目的 (4) 4. 测试环境 (4) 4.1 网络拓扑图 (5) 4.2 硬件环境 (6) 4.3 软件环境 (6) 4.4 数据环境 (6) 5. 测试工具和测试方法 (7) 5.1 测试工具 (7) 5.2 测试策略 (7) 6. 测试结果 (8) 6.1 场景一 (8) 6.1.1 场景描述 (8) 6.1.2 执行时间 (8) 6.1.3 执行结果 (8) 6.1.4 客户端响应情况 (11) 6.1.5 应用服务器资源使用情况 (13) 6.1.6 数据库服务器资源使用情况 (13) 6.2 场景二 (14) 6.2.1 场景描述 (14) 6.2.2 执行时间 (14) 6.2.3 执行结果 (14) 6.2.4 客户端响应情况 (19) 6.2.5 应用服务器资源使用情况 (19)

6.2.6 数据库服务器资源使用情况 (20) 6.3 场景三 (20) 6.3.1 场景描述 (20) 6.3.2 执行时间 (20) 6.3.3 执行结果 (21) 6.3.4 应用服务器资源使用情况 (23) 6.3.5 数据库服务器资源使用情况 (23) 6.4 场景四 (24) 6.4.1 场景描述 (24) 6.4.2 执行时间 (24) 6.4.3 执行结果 (24) 6.4.4 应用服务器资源使用情况 (25) 6.4.5 数据库服务器资源使用情况 (26) 7. 测试结果分析 (26) 8. 测试过程遇到的问题和解决方法 (28) 9. 总结 (29)

系统压力测试报告模版V1.0

国信嘉宁数据技术有限公司 XXX系统 压力测试报告 创建人:xxx 创建时间:xxxx年xx月xx日 确认时间: 当前版本:V1.0

文档变更记录 *修订类型分为:A-ADDED,M-MODIFIED,D-DELETED。

目录 1.简介 (4) 1.1.编写目的 (4) 1.2.项目背景 (4) 1.3.系统简介 (4) 1.4.术语定义和缩写词 (5) 1.5.参考资料 (6) 2.测试概要 (6) 2.1.测试范围 (6) 2.2.测试通过目标 (6) 2.3.测试方法和测试工具 (6) 2.4.测试环境与配置 (7) 3.测试组织 (7) 3.1.测试人员 (7) 3.2.测试时间细分及投入人力 (8) 4.测试结果及缺陷分析 (8) 4.1.测试执行情况统计分析 (8) 4.2.遗留缺陷列表 (8) 4.3.测试结果分析 (8) 5.测试结论 (15) 6.测试建议 (16)

1.简介 1.1.编写目的 描述编写本测试报告需要说明的内容。 如:本报告为XX项目的压力测试报告,目的在考察系统性能、测试结论以及测试建议。 示例: 文档是对XXX系统性能(压力)测试所做的说明,为充分利用已有的软硬件资源,配合对各系统应用模块的运行测试方案,查缺补漏完善系统的各项具体功能,保证项目的顺利进行,本测试报告有助于实现以下目标: 明确本次性能测试的测试资源; 明确本次性能测试的测试内容; 明确本次性能测试的测试方法; 使用badboy录制脚本,Jmeter做压力测试和JMeterPlugin生成性图表。 明确本次性能测试的系统性能:将对系统的性能进行测试,找出系统基于某种硬件及软件(主要为硬件环境)下的性能,找出系统的瓶颈和缺陷所在,及长时间的压力测试,找出系统基于某种硬件环境下的最大负载能力。 1.2.项目背景 对项目背景进行简要说明,可从需求文档或测试方案中获取。 1.3.系统简介 对所测试项目进行简要的介绍,如果有设计说明书可以参考设计说明书,最好添加上架构图和拓扑图。 示例: xxx系统是一款基于java平台的网站,基于先进的Java技术,默认支持SQL Server数据库,可扩展支持ACCESS、MySql等多种数据库。支持基于IE、Chrome、Firefox、Opera等浏览器。 XXX系统主要是提供xxx功能,本测试报告主要测试分析XXX功能。

压力测试报告

GV压力测试报告 拟制:周双英日期:2015-1-4 审核:日期: 批准:日期:

GV压力测试报告 (1) GV压力测试报告 (1) 1. 概述 (3) 1.1. 编写目的 (3) 1.2. 项目背景 (3) 1.3. 测试目标 (3) 1.4. 名词解释 (3) 1.5. 参考文档 (3) 2. 测试环境说明 (3) 3. 测试策略 (4) 3.1. 人力资源 (4) 3.2. 测试方案 (4) 3.3. 测试场景 (4) 3.3.1. 静态页面测试场景 (4) 3.3.2.1. 动态页面测试场景(一) (4) 3.3.2.2. 动态页面测试场景(二)(未记录) (4) 3.4. 测试用例 (5) 3.4.1. 1000个用户访问静态静态页面 (5) 3.4.2. 100个用户访问动态页面 (5) 4. 测试结果 (5) 4.1. 测试结果摘要 (5) 4.2. 用户运行情况:(附图) (6) 4.3. 错误数:(附图) (7) 4.4. 事务响应时间:(附图) (7) 4.5. 每秒点击数:(附图) (8) 4.6. 吞吐量(附图) (9) 5. 测试结论 (10) 6. 遗留问题分析 (10) 7. 附件 (10)

1.概述 1.1.编写目的 本次测试报告为GV西班牙站系统的压力测试总结报告,目的在于总结压力测试工作。预期参考人员包括用户、测试人员、开发人员、项目管理者、质量管理人员和需要阅读本报告的高层经理。 1.2.项目背景 本项目是本公司正在开发的一个购物平台,西班牙语GV购物平台。 1.3.测试目标 本次测试,主要测试GV西班牙站动态和静态两个页面的压力上限,得出用户瓶颈。 1.4.名词解释 测试时间:一轮测试从开始到结束所使用的时间 并发线程数:测试时同时访问被测系统的线程数。注意,由于测试过程中,每个线程都是以尽可能快的速度发请求,与实际用户的使用有极大差别,所以,此数据不等同于实际使用时的并发用户数。 每次时间间隔:测试线程发出一个请求,并得到被测系统的响应后,间隔多少时间发出下一次请求。 平均响应时间:测试线程向被测系统发请求,所有请求的响应时间的平均值。 1.5.参考文档 无 2.测试环境说明 测试pc: 系统:windows 7 旗舰版 处理器:2.7GHz 安装内存:4GB 硬盘: 500GB 测试工具:Loadrunner 11 浏览器:firefox 4

相关主题