怎样正确做 Web 应用的应用压力测试试

本帖子已过去太久远了,不再提供回复功能。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
十个免费的Web压力测试工具
下载积分:100
内容提示:十个免费的Web压力测试工具
文档格式:PDF|
浏览次数:56|
上传日期: 05:53:41|
文档星级:
全文阅读已结束,如果下载本文需要使用
 100 积分
下载此文档
该用户还上传了这些文档
十个免费的Web压力测试工具
官方公共微信如何对Web服务器做压力测试-通信/网络-与非网
  公司的搭建完成,上线在即。它能够承载多大的访问量,响应速度和容错能力等性能指标是否满足要求,所有这些都是我最想知道,也最为担心的。如何才能知晓这一切呢?
  通过工具可以有效地测试Web服务器的运行状态和响应时间等性能指标,从而解决上述问题。下面以Web Application Stress Tool(简称WAST)为例,介绍如何进行Web压力测试。这是由微软的网站测试人员开发的专门用来进行实际网站压力测试的一套工具。
  测试工具的设置
  下载并安装WAST,过程极其简单。在对目标Web服务器进行压力测试之前,首先要对它进行一些必要的设置。
  1.设置并行连接数
  点击&Defaults&Settings&打开设置面板。在Concurrent Connections下进行并行连接设置。Stress Level(Threads)是最少线程,Stress Multiplier是最大线程。这里的线程是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,一般填写500~1000。这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么可以设置得更高一些。
  2.设置持续时间
  在&Test Run Time&中用来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别,比如我们设置为1个小时。
  3.其余设置
  用Rpquest Delay设置延迟时间,我们设置为100~500。用Suspend设置设定挂起时间,Warmup时间是初始化测试运行时间,Cooldown时间是指定结束阶段的测试时间。Bandwith指定带宽瓶颈,允许模拟从14.4 kbps的Modem连接到T1(1.5 Mbps)的Local Area Network(LAN)连接的网络带宽。Redirects设置重定向时间,Throughput用来设置用户、密码页面状态保存等是否启用,Name Resolution用来设置是否进行名称解析。所有以上的选项大家可以根据自己的需要进行设置。
  压力测试的步骤
  设置完成后就可以进行压力测试。测试的步骤如下:
  第一步,点击工具栏上的&New Script&按钮,在打开的面板中点击&Nanual&按钮创建一个新的测试项目。在打开的窗口中对它进行设置,在主选项中的Server中填写要测试的服务器的IP地址。这里我们填写192.168.1.20。在下方选择测试的Web连接方式,这里的方式Verb选择get。Path选择要测试的Web页面路径,这里填写/Index.asp即动网的首页文件,WAST可以设置更多的Path。
  第二步,在&Settings&功能设置中将Stress Level (Threads)线程数设置为1000。然后点工具中的灰色三角按钮即可进行测试。测试过程中我们可以从服务器的任务管理器中看到CPU使用率已经达到100%,损耗率达到最大。在CMD窗口中使用命令netstat -an,可以看到客户端的IP地址在服务器上的80端口进行了非常多的连接,而且Web网站已经打不开了,提示过多用户连接。
  通过压力测试,管理员对Web服务器的抗压能力有了大概了解,可根据实际需要进行服务器硬件扩展,也为系统设置和软件选择等提供依据。Web服务器在正式发布前进行压力测试是非常必要的。
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
AMD重回服务器市场是一个极具震撼的消息,而消息是否会成为现实还是一个有待时间给出回答的问题。
发表于: 18:08:59
华为在北京发布“无边界计算”服务器战略及系列解决方案,该战略聚焦行业数字化转型需求,规划了华为未来5年计算创新路线图,从而帮助客户创造切实价值。
发表于: 16:07:03
据网络消息: 微软公司在今年3月可能暗示称,ARM服务器能够为其云服务提供最佳价值。
发表于: 12:33:00
2017年下半新款智能手机产品必备的全屏幕设计,与持续不断要求高速、省电的服务器新品设计,将是台系IC设计公司抢进新兴蓝海产品市场的重要关键。
发表于: 13:25:47
全球数据中心解决方案领导厂商云达科技,今日正式推出搭载最新款Intel(R) Xeon(R) 可扩充处理器 的「QCT新一代可扩展型服务器系列」- QuantaGrid以及QuantaPlex等多款新机, 为云端服务供货商(CSP)提供更强大的硬件效能以及更优质的云端解决方案。
发表于: 20:01:00
很多人的弱电朋友认为这两个都是用来上网的,至于他们到底有什么区别的,就不清楚是怎么回事了。交换机和路由器的区别到底在哪里呢?
发表于: 17:31:47
顾名思义,千兆级LTE网络的速度可以达到1Gbps,尽管这一数值还无法为用户提供5G数十Gbps速度的快感,但5G大规模商用需要等到2020年,千兆级LTE网络的落地是必然也是趋势。
发表于: 10:16:40
中国移动、联通、电信三大运营商原本高高在上,每天乐滋滋地数钱数到手抽筋,但近年来移动互联网的快速普及,让运营商的制霸状态不复存在。
发表于: 09:57:03
从普通的郊区家庭到产品装配线,“智能”技术似乎正在强化我们生活的每一个角落。但是,虽然物联网(IoT)技术似乎已经无处不在,但如何为这些设备持续供电仍然是个挑战,如果这个问题得不到解决,许多令人兴奋的潜在IoT应用最终可能难以成为现实。
发表于: 09:19:52
今年6月份的电信业务收入明显失常,一反往年上行的趋势出现了下跌,甚至较去年同期出现了负增长……
发表于: 16:11:50
有偿征稿 | 2017年能耗过半,年初定的哪些“小目标”没有阵亡? ……
旗下网站:
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号博客访问: 841477
博文数量: 334
博客积分: 10397
博客等级: 上将
技术积分: 3731
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
Web压力测试的工具:微软的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。
&& 最早使用的web压力测试工具是apache的,apache ab做重复压力测试不错,但是每次只能测试一个链接,如何测试一组链接(比如从日志中导出的1个小时的日志,做真实压力测试).&& 是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
SIEGE is an http regressive testing and benchmarking utility. It was designed to let web developers measure the performance of their code under duress, to see how it will stand up to load on the internet. It lets the user hit a webserver with a configurable number of concurrent simulated users. Those users place the webserver "under siege." The duration of the siege is measured in transactions, the sum of simulated users and the number of times each simulated user repeats the process of hitting the server. Thus 20 concurrent users 50 times is 1000 transactions, the length of the test.
下载:wget ftp://sid.joedog.org/pub/siege/siege-latest.tar.gz
安装:./ make#make install
siege包含了一组压力测试工具:SIEGE (1) Siege是一个HTTP压力测试和评测工具.使用样例:任务列表:.url文件/tech//tech/acdsee.html/tech/ant.html/tech/apache_install.html/tech/awstats.html/tech/cache.html/tech/click.html/tech/cms.html/tech/compress.html/tech/cvs_card.html/tech/default.html/tech/dev.html/tech/gnu.html....siege -c 20 -r 2 -f .url 参数说明:-c 20 并发20个用户-r 2 重复循环2次-f .url 任务列表:URL列表
输出样例:
** Siege 2.59** Preparing 20 concurrent users for battle. 这次“战斗”准备了20个并发用户The server is now under siege.. done. 服务在“围攻”测试中:Transactions: 40 hits 完成40次处理Availability: 100.00 % 成功率Elapsed time: 7.67 secs 总共用时Data transferred: 877340 bytes 共数据传输:877340字节Response time: 1.65 secs 相应用时1.65秒:显示网络连接的速度Transaction rate: 5.22 trans/sec 平均每秒完成5.22次处理:表示服务器后台处理的速度Throughput:
bytes/sec 平均每秒传送数据:字节Concurrency: 8.59 最高并发数 8.59Successful transactions: 40 成功处理次数Failed transactions: 0 失败处理次数
注意:由于速度很快,可能会达不到并发速度很高就已经完成。Response time显示的是测试机器和被测试服务器之间网络链接状况。Transaction rate则表示服务器端任务处理的完成速度。
辅助工具:增量压力测试:
为了方便增量压力测试,siege还包含了一些辅助工具:bombardment (1) 是一个辅助工具:用于按照增量用户压力测试:使用样例:bombardment urlfile.txt 5 3 4 1初始化URL列表:urlfile.txt初始化为:5个用户每次增加:3个用户运行:4次每个客户端之间的延迟为:1秒
输出成CSV格式:siege2csv.pl (1) siege2csv.pl将bombardment的输出变成CSV格式:Time Data Transferred Response Time Transaction Rate Throughput Concurrency Code 200 (note that this is horribly broken.) 242 60.22 .02 4.02 .08605 59.98 .01 10.09 .12938 59.98 .02 15.64 .26 19.28 .78
首先,进行安装:wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gztar zxvf siege-latest.tar.gzcd siege-2.67./configuremake && make install安装完成后,就可以开始进行压力测试了修改siege配置vi ~/.siegerc调整:verbose = falseconcurrent = 50delay = 1internet = truebenchmark = true
siege参数介绍:
设置并发的用户(连接)数量,比如-c10,设置并发10个连接。默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x,前面咱们已经调整了默认并发连接为50。
(repetitions),重复数量,即每个连接发出的请求数量,设置这个的话,就不需要设置-t了。对应.siegerc配置文件中的reps = x指令
(time),持续时间,即测试持续时间,在NUM时间后结束,单位默认为分,比如-t10,那么测试时间为10分钟,-t10s,则测试时间为10秒钟。对应.siegerc中的指令为time = x指令
(benchmark),基准测试,如果设置这个参数的话,那么delay时间为0。在.siegerc中咱们修改为默认开启。
* -f url.txt
(file),这是url列表文件。对应.siegerc配置文件中的file = x指令测试结果分析:[root@bbs ~]# siege -c 500 -r 50 -f shunz.net.url** SIEGE 2.67** Preparing 500 concurrent users for battle.The server is now under siege.. & & &done.Transactions: & & & & & & & & &25000 hitsAvailability: & & & & & & & & 100.00 %Elapsed time: & & & & & & & & &65.52 secsData transferred: & & & & & & &83.65 MBResponse time: & & & & & & & & &0.57 secsTransaction rate: & & & & & & 381.56 trans/secThroughput: & & & & & & & & & & 1.28 MB/secConcurrency: & & & & & & & & &216.02Successful transactions: & & & 21707Failed transactions: & & & & & & & 0Longest transaction: & & & & & &5.83Shortest transaction: & & & & & 0.00
上面是用500并发重复测试50次shunz.net.url里的url列表的结果,下面一条一条地分析测试结果:Transactions: 25000 hits意思是总共完成了25000次测试Availability: 100.00 %测试的有效性100%Elapsed time: 65.52 secs用时65.52秒Data transferred: 83.65 MB传输了83.65MB数据Response time: 0.57 secs响应时间Transaction rate: 381.56 trans/sec每秒传输381.56次Throughput: 1.28 MB/sec数据吞吐量每秒1.28MBConcurrency: 216.02实际并发访问Successful transactions: 21707成功的传输Failed transactions: 0失败的传输Longest transaction: 5.83每次传输所花最长时间Shortest transaction: 0.00每次传输所花最短时间
如果你的WEB服务器用的是Apache,请不要将并发数设为大于200。
本文参考:
阅读(8196) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 应用压力测试 的文章

 

随机推荐