网站压力测试工具(使用Jmeter进行http接口性能测试)

本文目录
- 使用Jmeter进行http接口性能测试
- 如何用Jmeter做压力测试
- windows系统中如何安装Jmeter压力测试工具
- CC(ChallengeCollapsar)发包工具之网站压力测试siege安装与使用图文教程
- 自动化工具Jmeter简单压力测试例子
- ios app压力测试工具有哪些
- 服务器性能测试典型工具介绍
使用Jmeter进行http接口性能测试
在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。
但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具
Apache JMeter - Apache JMeter:trade_mark:
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
下面就以上图的Restful类型的接口为例简单介绍使用Jmeter进行接口测试的方法。
获取某个具体网关设备的基本信息。
请求
方法:GET
URI:/api/gateway/《gateway_id》
参数:
***隐藏网址***
响应
返回值:JSON格式的网关信息
参数:
.启动jmeter:在bin下以管理员身份运行jmeter.bat,启动jmeter
2. 创建测试计划:
默认启动jmeter时会加载一个测试技术模板,保存测试计划:修改名称为Apitest,点击保存,选择保存路径,后面的步骤,每次添加或修改了了一些选项,软件并不会自动保存到jmx文件中,所以进行测试后,如果需要保存本次测试选项,要手动到“文件”菜单中保存一下。
3. 添加线程组
右键左边树中的测试计划“Apitest”节点,“添 加”→”Threads”→”线程组”
添加成功后,“Apitest”节点下多了“线程组” 节点,当然这个线程组的名称是可以自己设定的。
***隐藏网址***
右键线程组,选择“添加”→ “配置元件”→“HTTP请求默认值”,点击“HTTP请求默认值”后
添加成功后,线程组”节点下多了“HTTP请求默认值”节点
***隐藏网址***
填写默认请求名、服务器、默认请求路径,保存测试计划。
***隐藏网址***
这一项并不是必须的,只不过我们的例子中使用了Userid和Token放在HTTP请求头中用作用户验证
右键“Apitest”,选择“添加”→ “配置元件”→“HTTP信息头管理器”
***隐藏网址***
右键“Apitest”,选择“添加”→ “Sampler”→“HTTP请求”
添加成功后,出现新的节点“HTTP请求”,就可以填写具体的请求参数了。
填写完成,保存测试计划
7. 添加监听器:
右键线程组,选择“添加”→“监听器”→“XXXXXXXXX”
可以添加的监听器有很多种,可以添加多个监听器,这里我们添加几个常用的“图形结果”、“察看结果树”、“聚合报告”
添加成功后,“线程组”下增加了几个节点
8. 试运行
点击执行
可以查看各个“监听器”的结果
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Note:关于 50% 和 90% 并发用户数的含义,请参考下文
***隐藏网址***
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
9. 修改线程组的线程数等参数,用于压力测试
点击左侧树形导航中的“线程组”
设置上面几个参数,模拟的总的请求数是:线程数*循环次数。执行一下,用“图形结果”监听器查看一下
样本数目:总共发送到服务器的请求数.
最新样本:代表时间的数字,是服务器响应最后一个请求的时间.
吞吐量:服务器每分钟处理的请求数.
平均值:总运行时间除以发送到服务器的请求数.
中间值:时间的数字,有一半的服务器响应时间低于该值而另一半高于该值.
偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布.
如何用Jmeter做压力测试
在“服务器名称或ip”设置127.0.0.1,端口号设置:8080,“方法”设置post,路径设置网站登录的地址,如“/exam/operatorAction”。
登录需传入用户、密码。在“同请求一起发送参数”列表中添加参数。参数值根据web应用设置。如login_user=0001;login_password=1;actFlag=login。
一般网站登录后,在tomcat中生成了session,之后访问其他页面将无需再次登录,前提是浏览器需支持cookie。在jmap中也同样,如要继续访问其他页面,还需做下面关键的设置。
Apache JMeter
是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
windows系统中如何安装Jmeter压力测试工具
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
一、Jmeter安装总结
1、配置Java环境变量时需要注意设置的路径需要和JDK安装的路径一样
2、配置Java环境变量时需要注意JDK的版本号
3、配置环境变量时多个变量以分号隔开,但是确保是英文输入法的分号
二、搭建测试环境总结
1、检测负载机是否可以被调用,检测负载机的ip是否能被ping通
2、当负载机的ip不能ping通时,有可能是防火墙拦截了,可以检测防火墙是否是启用状态,如果是暂时设置禁用防火墙
3、测试的数据调用文件应该放在负载机上,并且在控制中心设置正确的数据访问路径
Jmeter测试工具安装步骤:
1、安装Jmeter
下载Jmeter工具包 并把工具包放到C盘下
***隐藏网址***
2、安装JDK
下载Java的JDK并安装,一般会安装在C:/Program Files/Java目录下
***隐藏网址***
3、Java环境变量配置
桌面上 右键选中计算机---属性---高级系统设置---环境变量设置
在“系统变量”---“新建”, 在变量名中输入:CLASSPATH,变量值中输入:C:/Program Files/Java/jdk1.6.0_10/lib/dt.JAR; C:/Program Files/Java/jdk1.6.0_10/lib/TOOLS.JAR; C:/Program Files/Java/jdk1.6.0_10/BIN;再按“新建”,在变量名中输入:JAVA_HOME,变量中输入:C:/Program Files/Java/jdk1.6.0_10;修改PATH变量,添加%JAVA_HOME%/bin;然后确定即可
4、Jmeter环境变量配置
桌面上 右键选中计算机---属性---高级系统设置---环境变量设置
在“系统变量”---“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:C:/jakarta-jmeter-2.3.4 ,再修改CLASSPATH变量,变量值中添加%JMETER_HOME%/lib/ext/ApacheJMeter_core.jar;% JMETER_HOME%/lib/jorphan.jar;%JMETER_HOME%/lib/logkit-1.2.jar; 然后确定即可
意义
1、Label: 定义的HTTP请求名称
2、Samples: 表示这次测试中一共发出了多少个请求
3、Average: 访问页面的平均响应时间
4、Min: 访问页面的最小响应时间
5、Max: 访问页面的最大响应时间
6、Error%: 错误的请求的数量/请求的总数
7、Throughput:每秒完成的请求数
8、KB/Sec: 每秒从服务器端接收到的数据量
CC(ChallengeCollapsar)发包工具之网站压力测试siege安装与使用图文教程
压力测试是一项很重要的工作。能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数。
Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问。
yum install gcc
***隐藏网址***
tar -zxf siege-3.1.4.tar.gz
cd siege-3.1.4
./configure;make
make install
以上就是一键安装命令一键就可以安装完毕,我们就已经更新到官网最新版本~使用方
使用方法:
***隐藏网址***
注释解释:siege-c 200 并发200个用户 -r 20 重复循环20
以上是基本命令,假如说你还想使你的攻击力加强请请看下面的参数详解
参数详解
-C,或–config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件$HOME/.siegerc中,可以里面的参数,这样每次siege 都会按照它运行.
-v 运行时能看到详细的运行信息
-c n,或–concurrent=n 模拟有n个用户在同时访问,n不要设得太大,因为越大,siege 消耗本地机器的资源越多
-i,–internet 随机访问urls.txt中的url列表项,以此模拟真实的访问情况(随机性),当urls.txt存在是有效
-d n,–delay=n hit每个url之间的延迟,在0-n之间
-r n,–reps=n 重复运行测试n次,不能与 -t同时存在
-t n,–time=n 持续运行siege ‘n’秒(如10S),分钟(10M),小时(10H)
-l 运行结束,将统计数据保存到日志文件中siege .log,一般位于/usr/local/var/siege .log中,也可在.siegerc中自定义
-R SIEGERC,–rc=SIEGERC 指定用特定的siege 配置文件来运行,默认的为$HOME/.siegerc
-f FILE, –file=FILE 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下的etc/urls.txt
-u URL,–url=URL 测试指定的一个URL,对它进行”siege “,此选项会忽略有关urls文件的设定
url.txt文件:是很多行待测试URL的列表以换行符断开,格式为:
用法举例:
siege -c 300 -r 100 -f url.txt
说明:-c是并发量,-r是重复次数。url.txt就是一个文本文件,每行都是一个url,它会从里面随机访问的。
自动化工具Jmeter简单压力测试例子
上次介绍了jmeter的安装配置,现在大概举个简单例子来进行压力测试,我也是初学者,希望能帮助到大家,如果有什么地方不对,也欢迎大家给我留言
启动jmeter自动化工具,界面显示如下图所示。
在“测试计划”单击鼠标右键,选择【添加】-【Threads(Users)】-【线程组】,添加一个线程组。
添加完线程组后,开始设置线程组。“线程组”可以类似于虚拟用户组,设置“线程数”为100,即我们要测试的是100个用户并发的情况;“Ramp-Up Period(in seconds)”的意思是达到最大线程所需要的时间(单位是秒)。 线程数:100 Ramp-Up Period(in seconds:10 理解为当线程数达到100时,所花费的时间是10秒
在“线程组”单击右键,选择【添加】-【Sampler】-【HTTP请求】,为线程组添加HTTP请求
***隐藏网址***
在“HTTP”单击右键,选择【添加】-【后置处理器】-【Bean Shell PostProcessor】,添加后置处理器,为了防止脚本运行后,查看树的响应数据显示乱码
在“HTTP请求”的后置处理器脚本里输入:prev.setDataEncoding(“UTF-8”); ,如下图所示
在“测试计划”单击右键,选择【添加】-【监听器】-【查看结果树】,添加结果树,用于查看测试结果
点击启动按钮,即可运行测试脚本进行压力测试
运行完成后,在结果树查看运行结果即可
ios app压力测试工具有哪些
开发和压力测试软件大全:
ShareSDK
功能强大、简单易用的iOS app开发必备社会化分享类库:ShareSDK。iOS app开发者只需10分钟即可集成到自己的APP中。不仅支持如QQ、微信、新浪微博、腾讯微博、人人网、豆瓣、facebook、twitter等国内外主流社交平台,还有强大的统计分析管理后台,可以实时了解用户、信息流、回流率等数据。
iOS加密
iOS app开发必备加密技术,全球独有,针对iOS app开发的技术原理和破解原理,分别从本地数据、方法体/方法名、URL编码、程序结构、网络传输数据等几个方面对iOS app开发进行全方位的保护,从而实现iOS app防破解保护。
Tui
iOS app开发必备,基于FlashCS6的cocos2d-x UI器,可用于操作系统:Mac OS,Windows
PonyDebugger
iOS app开发必备网络调试工具,用于操作系统:Mac OS,其他Pony Debugger 是一个iOS app开发必备的远程调试工具包,通过使用 Chrome 开发者工具来调试 iOS app开发的网络流量和数据存储。
iTestin
iTestin是免费服务iOS app开发者的真机自动化云测试客户端iOS app开发工具。基于真实的智能终端设备录制一个测试脚本然后运行,并输出运行结果。支持功能测试、UI测试、性能测试、稳定性测试、压力测试,返回包括日志和截图的详细测试报告。
Cornerstone
Mac上最佳的SVN管理iOS app开发必备工具,可用于的用于操作系统包括Mac OS
CocosBuilder
最牛iOS app开发必备Cocos2d器,Mac专属,对于开发iOS app,Cocos2d-iPhone引擎做的2D游戏开发者来说最大的福音
MarkMan
MarkMan是一款iOS app开发必备高效的设计稿标注和测量软件,用于操作系统:Mac OS,Windows
SQLCipher
SQLite加密,iOS app开发必备,SQLCipher 提供了对 SQLite 数据库的传输层进行全面加密的iOS app开发工具。而通过使用 SQLCipher ,整个加密过程对客户端是透明的,无需改动应用程序。
服务器性能测试典型工具介绍
众所周知,服务器是整个网络系统和计算平台的核心,许多重要的数据都保存在服务器上,很多网络服务都在服务器上运行,因此服务器性能的好坏决定了整个应用系统的性能。
现在市面上不同品牌、不同种类的服务器有很多种,用户在选购时,怎样从纷繁的型号中选择出所需要的,适合于自己应用的服务器产品,仅仅从配置上判别是不够的,能够通过实际测试来筛选。而各种的评测软件有很多种,你应该选择哪个软件测试?下面就介绍一些较典型的测试工具:
(一)服务器整机系统性能测试工具
一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。
Iometer(www.iometer.org):存储子系统读写性能测试
Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的IO能力、磁盘系统的吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,来模拟实际应用的读写环境进行测试。
Iometer*作简单,可以录制测试脚本,可以准确有效的反映存储系统的读写性能,为各大服务器和存储厂商所广泛采用。
Sisoft Sandra(www.sisoftware.co.uk):WINDOWS下基准评测
SiSoft发行的Sandra系列测试软件是Windows系统下的基准评测软件。此软件有超过三十种以上的测试项目,能够查看系统所有配件的信息,而且能够对部分配件(如CPU、内存、硬盘等)进行打分(benchmark),并且可以与其它型号硬件的得分进行对比。另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。
Sisoft Sandra软件在最近发布的Intel bensley平台上测试的内存带宽性能并不理想,不知道采用该软件测试的FBD内存性能是否还有参考价值,或许软件应该针对FBD内存带宽的测试项目做一个升级。
Iozone(www.iozone.org):linux下I/O性能测试
现在有很多的服务器系统都是采用linux*作系统,在linux平台下测试I/O性能可以采用iozone。
iozone是一个文件系统的benchmark工具,可以测试不同的*作系统中文件系统的读写性能。可以测试Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。测试所有这些方面,生成excel文件,另外, iozone还附带了用gnuplot画图的脚本。
该软件用在大规模机群系统上测试NFS的性能,更加具有说服力。
Netperf(www.netperf.org):网络性能测试
Netperf可以测试服务器网络性能,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。
Netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是 netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。
对于服务器系统来说,网络性能显得尤其重要,有些服务器上为了节省成本,采用了桌面级的网络芯片,性能怎样,用这个软件一测便知了。
以上介绍的这几款测试工具都是可以免费从网上下载的非商业软件,但是其测试结果和认可程度均是为大多数使用者所认同的。你可以根据自己的应用需求选择不同的软件进行测试。
(二)针对应用的测试工具
随着web应用的增多,服务器应用解决方案中以Web为核心的应用也越来越多,很多公司各种应用的架构都以web应用为主。一般的web测试和以往的应用程序的测试的侧重点不完全相同,在基本功能已经通过测试后,就要进行重要的系统性能测试了。系统的性能是一个很大的概念,覆盖面非常广泛,对一个软件系统而言包括执行效率、资源占用率、稳定性、安全性、兼容性、可靠性等等,以下重点从负载压力方面来介绍服务器系统性能的测试。系统的负载和压力需要采用负载测试工具进行,虚拟一定数量的用户来测试系统的表现,看是否满足预期的设计指标要求。负载测试的目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。
负载测试一般使用工具完成,有LoadRunner,Webload,QALoad等,主要的内容都是编写出测试脚本,脚本中一般包括用户常用的功能,然后运行,得出报告。
使用压力测试工具对web服务器进行压力测试。测试可以帮助找到一些大型的问题,如死机、崩损、内存泄漏等,因为有些存在内存泄漏问题的程序,在运行一两次时可能不会出现问题,但是如果运行了成千上万次,内存泄漏得越来越多,就会导致系统崩滑。
Loadrunner:预测系统行为和性能的负载测试工具
目前,业界中有不少能够做性能和压力测试的工具,Mercury(美科利)Interactive公司的LoadRunner是其中的佼佼者,也已经成为了行业的规范,目前最新的版本8.1。
LoadRunner 是一种预测系统行为和性能的负载测试工具,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试,LoadRunner 适用于各种体系架构,能支持广范的协议和技术(如Web、Ftp、Database等),能预测系统行为并优化系统性能。它通过模拟实际用户的*作行为和实行实时性能监测,来帮助您更快的查找和发现问题。Loadrunner是一个强大有力的压力测试工具,它的脚本可以录制生成,自动关联。测试场景面向指标,实现了多方监控。而且测试结果采用图表显示,可以自由拆分组合。
通过Loadrunner的测试结果图表对比,你可以寻找出系统瓶颈的原因,一般来说可以按照服务器硬件、网络、应用程序、*作系统、中间件的顺序进行分析。
Loadrunner是一款收费软件,根据测试项目和虚拟用户数目的不同而花费不同的费用。不过你可以下载到免费使用10天的测试版本。
Webload:WEB性能压力测试
webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试; webload通过模拟真实用户的*作,生成压力负载来测试web的性能。
用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。当前版本是6.0。webload提供巡航控制器cruise control的功能,利用巡航控制器,可以预定义web应用程序应该满足的性能指标,然后测试系统是否满足这些需求指标; cruise control能够自动把负载加到web应用程序,并将在此负荷下能够访问程序的客户数量生成报告。
webload能够在测试会话执行期间对监测的系统性能生成实时的报告,这些测试结果通过一个易读的图形界面显示出来,并可以导出到excel和其他文件里。
这两个软件的功能虽然强大,并且可以自动生成测试报告,但其终究是一个工具,如果你想真正的定位服务器性能的好坏和性能的瓶颈所在,需要使用工具的人对于测试软件的方方面面都要有了解,比如软件体系构架,网络拓扑,服务器硬件等知识。

更多文章:
制作网页时通常需要在同一网页内跳转常常采用制作什么超链接(简述在网页设计中制作超链接的类型)
2026年9月5日 07:00
开发工具按钮是表格部分数据清零(怎么添加一个Excel批量删除多个单元格内容按钮)
2026年9月5日 05:45
石家庄网站优化全包(石家庄公交第三批线网线优化什么时候开始)
2026年9月5日 05:15
一个卖东西的微信小程序,都需要什么条件怎么制作?我想做一个社区团购的小程序,怎么入手呢,大概需要花多少钱
2026年9月5日 05:00





