数据库压力测试工具,oracle常用的压力测试工具有哪些
老铁们,大家好,相信还有很多朋友对于数据库压力测试工具和oracle常用的压力测试工具有哪些的相关问题不太懂,没关系,今天就由我来为大家分享分享数据库压力测试工具以及oracle常用的压力测试工具有哪些的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
如何对数据库进行压力测试
Expect。你的那个不叫压力测试。
现在所说的压力测试时:多个客户端同时访问你的电脑。
就是让N多个客户端同时来访问你的数据库,但是凭人力是不可能完成的,你总不能找N多哥们一起去网吧给你访问吧。
目前有好多的压力测试软件,可以供你使用。就是一台电脑去压力测试去访问你的数据库,可以设置为在同一时间,发送多个请求,这样的效果看起来就是好像是多个客户端同时来访问你的数据库了。
DDOS压力测试有什么工具
1、LoadRunner
LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。
LoadRunner提供了3大主要功能模块:VirtualUser Generator(用于录制性能测试脚本),LoadRunner Controller(用于创建、运行和监控场景),LoadRunner Analysis(用于分析性能测试结果)既可以作为独立的工具完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试。
详见:《性能测试入门——LoadRunner使用初探》(http://www.admin5.com/article/20161114/695706.shtml)
LoadRunner官网:https://saas.hpe.com/zh-cn/software/loadrunner
2、Apache JMeter
JMeter作为一款广为流传的开源压测产品,最初被设计用于Web应用测试,如今JMeter可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器等等,还能对服务器、网络或对象模拟巨大的负载,通过不同压力类别测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能测试和回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
JMeter的特点包括对HTTP、FTP服务器、数据库进行压力测试和性能测试;完全的可移植性;完全 Swing和轻量组件支持包;完全多线程;缓存和离线分析/回放测试结果;可链接的取样器;具有提供动态输入到测试的功能;支持脚本编程的取样器等。在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录浏览器的HTTP请求,也可以记录Apache等WebServer的log文件来重现HTTP流量,并在测试运行时以此为依据设置重复次数和并发度(线程数)来进行压测。
参考文章:《云智慧压测实战分享之JMeter工具使用初探》(https://segmentfault.com/a/1190000007922515)
官网链接:http://jmeter.apache.org/
3、NeoLoad
NeoLoad是Neotys出品的一种负载和性能测试工具,可真实地模拟用户活动并监视基础架构运行状态,从而消除所有Web和移动应用程序中的瓶颈。NeoLoad通过使用无脚本GUI和一系列自动化功能,可让测试设计速度提高5-10倍,并将维护的脚本维持在原始设计时间的10%,同时帮助用户使用持续集成系统自动进行测试。
NeoLoad支持WebSocket、HTTP1/ 2、GWT、HTML5、AngularJS、Oracle Forms等技术协议,能够监控包括操作系统,应用服务器,Web服务器,数据库和网络设备在内的各种IT基础设施,同时可以通过Neotys云平台发起外部压力。
官网链接:http://www.neotys.com/product/overview-neoload.html
4、WebLOAD
WebLOAD是来自Radview公司的负载测试工具,它可被用以测试系统性能和弹性,也可被用于正确性验证(验证返回结果的正确性)。其测试脚本是用Javascript(和集成的COM/Java对象)编写的,并支持多种协议,如Web(包括AJAX在内的REST/HTTP)、SOAP/XML及其他可从脚本调用的协议如FTP、SMTP等,因而可从所有层面对应用程序进行测试。
WebLOAD存在免费和专业两个版本,免费版本支持50个虚拟用户,专业版还提供更多的报告和协议供用户选择。WebLOAD通常用作QA团队的独立运行工具,在开发周期的验证阶段,被测系统(System Under Test,SUT)投入实用之前,在模拟环境中对被测系统进行测试。
官网链接:http://www.radview.com/
5、Loadster
Loadster是一款商用负载测试软件,用于测试高负载下网站、Web应用、Web服务的性能表现,支持Linux,Mac和Windows等运行环境。
Loadster能够对Web应用/服务的Cookies、线程、头文件、动态表格等元素发起测试,获得Web在压力下的性能、弹性、稳定性和可扩展性等方面的表现。
官网链接:http://www.loadsterperformance.com/
6、Load impact
Load impact是一款服务于DevOps的性能测试工具,支持各种平台的网站、Web应用、移动应用和API测试。Loadimpact可以帮助用户了解应用的最高在线用户访问量,通过模拟测试不同在线人数下网站的响应时间,估算出服务器的最大负载。
Load impact的使用非常简单,只需要输入网址进行测试,便可统计出加载网站的一些详细数据。包括整体加载和站内图片,javascript, CSS等代码载入。可以在右侧列表选择不同文件来同时对比最多三个对象的加载数据,并生成图表显示,方便网站设计者来分析。测试完成之后,网站还可以存储测试过的统计数据。
官网链接:http://loadimpact.com/
7、CloudTest
CloudTest是一个集性能和功能测试于一体的综合压力测试云平台,专为现代网络和移动应用测试而设计开发,CloudTest可以图形化实现判断、循环,整体减轻了测试开发的工作量,缩短了开发时间。CloudTest基于内存的分析引擎,可以实时收集和展示数据,所有数据在3秒内汇聚显示。
CloudTest采用虚拟化技术,完美的配合公有/私有云计算技术,无需过多的硬件,带宽资源的投入,人力维护成本几乎为零,测试按需获得,远程接入,适合多团队协作。各种规模的模拟成本均远远优于传统工具,同时大大缩短了测试周期。
官网链接:https://soasta.com/cloudtest
8、Loadstorm
Loadstorm是一款针对Web应用的云端负载测试工具,通过模拟海量点击来测试Web应用在大负载下的性能表现。由于采用了云资源,所以Loadstorm的测试成本非常低,用户可以在云端选择创建自己的测试计划,测试标准和测试场景。
Loadstorm最多可以生成多达50000个并发用户,通过数以千计的云服务器发起访问。使用Loadstorm不需要任何脚本知识,同时提供多样化的测试图表和报告模版,用于准确测量Web应用的各项性能指标,如错误率,平均响应时间和用户数量等。Loadstorm可以申请免费试用,但更多压力和功能需要开通高级帐户。
官网链接:http://loadstorm.com/
9、阿里云PTS
阿里云性能测试(Performance Testing)是一个SaaS性能测试平台,具有强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。PTS平台特色包括提供压测机,无需安装软件;脚本场景监控简单化,省时、省力;分布式并发压测,施压能力无上限;快速大规模集群扩容、支持几十万用户及百万级TPS性能压测;80%以上用户基本不需要花费额外的成本。
PTS分为两个版本,Lite版免费,企业版提供资源包月和按量付费两种计费方式,按量付费采用阶梯价计算,满足企业客户多种压测需求。
官网链接:https://www.aliyun.com/product/pts
10、压测宝
压测宝是云智慧推出的面向真实用户行为与地域分布的全链路云端压力测试平台,通过云端服务器产生真实分布式用户访问压力,模拟来自各地域用户接入后台所带来的真实流量,无限接近生产环境所面临的各种复杂因素,测量真实的用户体验。通过集成云智慧应用性能管理和监控产品,帮助实现基于真实用户行为的压测方案定制、压测过程中实时定位各环节应用资源及代码瓶颈,现场纠错,分析应用性能肇因。
产品功能特色方面,压测宝通过独有的开放架构,支持各种主流网络协议;同时支持手机APP的脚本录制方式,可以大大降低压测脚本制作的时间和难度。依托压测宝以及完善的产品线,云智慧为用户提供了一站式压测服务,面向云计算时代的复杂应用提供专业性能压测服务,帮助企业客观评估应用性能容量,发现全链路性能瓶颈,对应用架构的调优及架构容量规划提供专业咨询服务,满足企业灵活多变的业务需求。目前压测宝已提供高达10万UV并发级别的压测服务。
oracle常用的压力测试工具有哪些
orastress主要测试数据库的压力。它可以测试数据库的CPU或者内存的压力(以只读方式),也可以使用包括普通INSERT和直接路径INSERT两种方式测试数据库的I/O能力。
orastress只能运行在windows下,但它也可以测试远程服务器的压力。
1、下载
下载地址是http://www.linxcel.co.uk/orabm/orastress.zip
2、安装
orastress!使用的用户和数据和orabm类似,它的安装方法和orabm也类似。
1)扩充表空间
orastress!使用orabm用户作为测试用户,orabm用户默认使用tools表空间作为默认表空间,在本测试中要导入10个Warehouses的数据,数据库大概在1G左右,所以,要保证orabm所用的表空间大于1G
注意:orastress!是共享软件,没有注册只能使用1个并发测试数据库
SQL> alter database datafile'E:ORACLEORADATAORACLE9ITOOLS01.DBF' resize 1500m;
2)删除orabm用户
如果你的数据库没有orabm用户,则跳过这步
DROP USER ORABM CASCADE;
3)创建用户
sqlplus system/pwd@tnsname@orabm_user
4)创建表
sqlplus system/pwd@tnsname@orabm_tab
5)装载数据
orabmload Warehouses 10
这里装载10个warehouses的数据进行测试。数据量大概在1G左右,执行时间估计在15分钟左右。
如果是远程数据库,则先
set LOCAL=tnsname
然后再执行orabmload
6)创建索引
sqlplus system/pwd@tnsname@orabm_ind
7)分析表和索引
sqlplus system/pwd@tnsname@orabm_analyze
8)授权
连接到目标服务器,以sys执行
GRANT EXECUTE ON DBMS_LOCK TO ORABM
9)创建压力测试插入记录所用的表
sqlplus orabm/orabm@tnsname@orastress_tab.sql
10)创建orastress!用到的包和存储过程
创建包:
sqlplus orabm/orabm@tnsname@orastress.plh
创建包体:
sqlplus orabm/orabm@tnsname@orastress.plb
如何使用MySQL自带的性能压力测试工具mysqlslap
使用语法如下:
# mysqlslap [options]
常用参数 [options]详细说明:
--auto-generate-sql,-a自动生成测试表和数据,表示用mysqlslap工具自己生成的SQL脚本来测试并发压力。
--auto-generate-sql-load-type=type测试语句的类型。代表要测试的环境是读操作还是写操作还是两者混合的。取值包括:read,key,write,update和mixed(默认)。
--auto-generate-sql-add-auto-increment代表对生成的表自动添加auto_increment列,从5.1.18版本开始支持。
--number-char-cols=N,-x N自动生成的测试表中包含多少个字符类型的列,默认1
--number-int-cols=N,-y N自动生成的测试表中包含多少个数字类型的列,默认1
--number-of-queries=N总的测试查询次数(并发客户数×每客户查询次数)
--query=name,-q使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。
--create-schema代表自定义的测试库名称,测试的schema,MySQL中schema也就是database。
--commint=N多少条DML后提交一次。
--compress,-C如果服务器和客户端支持都压缩,则压缩信息传递。
--concurrency=N,-c N表示并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者--delimiter参数指定的值做为分隔符。例如:--concurrency=100,200,500。
--engine=engine_name,-e engine_name代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb。
--iterations=N,-i N测试执行的迭代次数,代表要在不同并发环境下,各自运行测试多少次。
--only-print只打印测试语句而不实际执行。
--detach=N执行N条语句后断开重连。
--debug-info,-T打印内存和CPU的相关信息。
说明:
测试的过程需要生成测试表,插入测试数据,这个mysqlslap可以自动生成,默认生成一个mysqlslap的schema,如果已经存在则先删除。可以用--only-print来打印实际的测试过程,整个测试完成后不会在数据库中留下痕迹。
各种测试参数实例(-p后面跟的是mysql的root密码):
单线程测试。测试做了什么。
# mysqlslap-a-uroot-p123456
多线程测试。使用–concurrency来模拟并发连接。
# mysqlslap-a-c 100-uroot-p123456
迭代测试。用于需要多次执行测试得到平均值。
# mysqlslap-a-i 10-uroot-p123456
# mysqlslap---auto-generate-sql-add-autoincrement-a-uroot-p123456
# mysqlslap-a--auto-generate-sql-load-type=read-uroot-p123456
# mysqlslap-a--auto-generate-secondary-indexes=3-uroot-p123456
# mysqlslap-a--auto-generate-sql-write-number=1000-uroot-p123456
# mysqlslap--create-schema world-q"select count(*) from City"-uroot-p123456
# mysqlslap-a-e innodb-uroot-p123456
# mysqlslap-a--number-of-queries=10-uroot-p123456
测试同时不同的存储引擎的性能进行对比:
# mysqlslap-a--concurrency=50,100--number-of-queries 1000--iterations=5--engine=myisam,innodb--debug-info-uroot-p123456
执行一次测试,分别50和100个并发,执行1000次总查询:
# mysqlslap-a--concurrency=50,100--number-of-queries 1000--debug-info-uroot-p123456
50和100个并发分别得到一次测试结果(Benchmark),并发数越多,执行完所有查询的时间越长。为了准确起见,可以多迭代测试几次:
# mysqlslap-a--concurrency=50,100--number-of-queries 1000--iterations=5--debug-info-uroot-p123456
关于数据库压力测试工具和oracle常用的压力测试工具有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。