Filed under:
运维管理,
运维辅助 | <!--<span class="comments"></span>-->
注:压力测试要区分基准测试,应用测试, 不同的应用有不同的表现, 基准测试主要测试服务器的性能,而不是服务器在某个应用下的表现.进入正题.
Siege(英文意思是围攻)是一个压力测试和评测工具
#./configure --prefix=/usr/local/siege ;
#make
#make install
任务列表:url.txt文件
siege -c 20 -r 2 -f url.txt
参数说明:
-c 20 并发20个用户
-r 2 重复循环2次
-f url.txt任务列表: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: 114385.92 bytes/sec 平均每秒传送数据:114385.92字节
Concurrency: 8.59 最高并发数 8.59
Successful transactions: 40 成功处理次数
Failed transactions: 0 失败处理次数
注意:由于速度很快,可能会达不到并发速度很高就已经完成。Response time显示的是测试机器和被测试服务器之间网络链接状况。Transaction rate则表示服务器端任务处理的完成速度。
辅助工具:
增量压力测试:
为了方便增量压力测试,siege还包含了一些辅助工具:
bombardment (1)
是一个辅助工具:用于按照增量用户压力测试:
使用样例:
bombardment url.txt 5 3 4 1
初始化URL列表:url.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 603064 0.02 4.02 10014.35 0.08
605 59.98 1507660 0.01 10.09 25136.05 0.12
938 59.98 2337496 0.02 15.64 38971.26 0.26
1157 60 2883244 0.04 19.28 48054.07 0.78
webbench
-----------------------------------------
webbench最多可以模拟3万个并发连接去测试网站的负载能力
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
webbench -c 500 -t 30 http://127.0.0.1/test.jpg
参数说明:-c表示并发数,-t表示时间(秒)
测试结果示例:
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://127.0.0.1/test.jpg
500 clients, running 30 sec.
Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.
参数说明:
-c 20 并发20个用户
-r 2 重复循环2次
-f www.chedong.com.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: 114385.92 bytes/sec 平均每秒传送数据:114385.92字节
Concurrency: 8.59 最高并发数 8.59
Successful 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 603064 0.02 4.02 10014.35 0.08
605 59.98 1507660 0.01 10.09 25136.05 0.12
938 59.98 2337496 0.02 15.64 38971.26 0.26
1157 60 2883244 0.04 19.28 48054.07 0.78
APACHE 的 AB
-----------------------------------------
./ab -c 300 -n 1000 http://www.zaojiao.com/test.html
ab -n 全部请求数 -c 并发数 测试url
Concurrency Level: 50 #并发数
Time taken for tests: 92.76140 seconds #全部请求完成耗时
Complete requests: 10000 #全部请求数
Failed requests: 1974 #失败的请求
(Connect: 0, Length: 1974, Exceptions: 0)
Write errors: 0
Total transferred: 827019400 bytes #总传输大小
HTML transferred: 825219400 bytes
Requests per second: 108.61 [#/sec] (mean) #每秒请求数(平均)
Time per request: 460.381 [ms] (mean) #每次并发请求时间(所有并发)
Time per request: 9.208 [ms] (mean, across all concurrent requests) #每一请求时间(并发平均)
Transfer rate: 8771.39 [Kbytes/sec] received #传输速率
以下结果时间每次有所偏差,均取相对平均值。
test.html
1 1000 1.296 771/s
5 1000 0.4826 2072/s
10 1000 5.142 194/s
700 700 3.36 208/s
700 2100 6514 321/s
2000 2000 3.2 608
6000 6000 6.2 983
这三种工具从机理上是一样的,根据测试的要求选择合适的工具.
相关推荐
在给定文件中,提到了如何使用数据库压力测试工具来进行这类测试,以及如何设计和实现这些工具。以下是从文件中提取的关键知识点: 1. **数据库压力测试工具的重要性和应用场景**: - 数据库压力测试工具用于验证...
Apache提供了多种压力测试工具,其中包括Apache JMeter、ab(ApacheBench)等,这些工具可以帮助开发者和运维人员理解服务器在高并发情况下的表现。 Apache JMeter是一款功能强大的开源压力和负载测试工具,不仅...
`queryperf`是一款由BIND(Berkeley Internet Name Domain)提供的内置压力测试工具,它能够模拟大量DNS查询,帮助管理员了解服务器在重负载下的响应速度和处理能力。 一、queryperf简介 queryperf是一个轻量级的...
"ab压力测试工具"是Apache HTTP服务器项目的一部分,它是一个简单但功能强大的命令行工具,用于对Web服务器进行性能测试和负载测试。这个工具能够模拟多个并发用户向服务器发送HTTP请求,帮助管理员评估服务器在高...
本资料包“基于JAVA简单简洁的压力测试, QPS测试工具.zip”提供了一种使用Java实现的压力测试解决方案,旨在帮助开发者快速评估其应用的QPS性能。 首先,我们要理解QPS的概念。QPS代表每秒查询率,是衡量一个系统在...
在IT行业中,性能测试是评估系统承受高负载和压力能力的关键环节,而微软提供的Web应用程序压力测试工具(WAS-Web)正是这样的工具,它专为开发者和测试人员设计,用于模拟大量用户并发访问Web应用程序,以检测系统...
**AB压力测试工具详解** 在IT行业中,性能测试是评估系统稳定性和承载能力的重要环节,而`ab`(ApacheBench)就是一个广泛使用的轻量级压力测试工具。它由Apache HTTP服务器项目开发,主要用于测试Web服务器的性能...
DDR带宽测试可以帮助我们评估系统内存性能,检测潜在的问题,并进行优化。本文将详细介绍Linux下如何使用测试工具来测量DDR带宽。 一、DDR带宽测试的重要性 DDR带宽测试能帮助我们: 1. 诊断内存性能问题:如果...
在IT领域,SOCKET是网络编程中用于创建和管理网络连接的基础组件,而调试工具则帮助开发者检查和修复代码中的错误,压力测试工具则是用来模拟大量并发请求,检测系统在高负载下的性能和稳定性。 描述部分提到,“C#...
《JMeter5:高效的压力测试工具详解》 在软件开发和运维过程中,性能测试是不可或缺的一环,它能确保系统在高负载下仍能稳定运行。JMeter5作为一款强大的开源压力测试工具,因其易用性和灵活性而备受青睐。本文将...
9. **性能监控工具**:利用Windows Performance Monitor、Application Insights等工具,实时监控服务器在测试期间的运行状态,以便及时发现问题。 10. **压力测试策略**:逐步增加并发用户数,观察服务器性能变化,...
在使用全志DDR检测工具时,用户应根据自己的硬件配置和需求选择合适的测试模式,并按照工具的指导进行操作。测试结果可以作为判断内存质量和系统性能的重要依据,对于开发人员调试系统、硬件工程师检测硬件故障,...
WinForm中文界面,只需简单设定即可工作的网站压力测试小软件,结果涵盖较全面,可以测试网站的最大性能值,通过视图界面可以轻松掌握服务器性能状态。 相比其它专业测试软件,它适合于进行纯粹的压力测试,而不必...
Jmeter 压力测试工具安装及使用教程 Jmeter 是 Apache 基金会提供的一款开源压力测试工具,广泛应用于各种 web 应用程序的性能测试和压力测试。下面是 Jmeter 压力测试工具的安装和使用教程。 一、Jmeter 下载和...
* 压力表:用于显示汽车空调系统的压力值。 四、空调压力测试的安全注意事项 空调压力测试的安全注意事项包括: * 避免因压力过高或过低而导致的安全隐患。 * 使用适当的工具和设备。 * 确保测试环境的安全。 五...
MySQL 压力测试工具 mysqlslap 资料 MySQL 压力测试工具 mysqlslap 是 MySQL 从 5.1.4 版开始带有的一个压力测试工具,通过模拟多个并发客户端访问 MySQL 来执行测试,使用起来非常的简单。 mysqlslap 工具的主要...
LoadRunner是一款强大的性能测试工具,尤其在Web服务(Webservice)的压力测试方面表现卓越。本文将详细介绍如何使用LoadRunner进行Webservice的压力测试,结合具体的步骤示例,帮助你理解并掌握这一关键技能。 1. ...
压力测试工具LoadRunner是收费的,而且操作复杂。作为开发人员当然是用apache提供的jmeter,免费容易上手。 jmeter下载地址http://jmeter.apache.org/首先下载解压到某个盘,我放在了D盘 然后配置环境变量: 变量...