设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 25148|回复: 18

[性能测试] Benchmarks(压力测试工具汇总) [复制链接]

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

签到
470
注册时间
2008-5-19
最后登录
2018-12-7
在线时间
1943 小时
阅读权限
200
积分
58977
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2008-5-26 13:58:06 |显示全部楼层
1.autobench结合httperf可以画出很漂亮的分析图
下载网址:http://www.xenoclast.org/autobench/
autobench --single_host --host1 www.test.com --uri1 /10K --quiet     \
          --low_rate 20 --high_rate 200 --rate_step 20 --num_call 10 \
          --num_conn 5000 --timeout 5 --file results.tsv

2.Siege 功能强大的压力测试软件
http://www.joedog.org/JoeDog/Siege
操作手册:http://www.joedog.org/Siege/Manual

-c 500   并发500个用户
-r 150      重复循环150次
-f sites.list     任务的URL列表

其它实用参数:

-i  随机 URL ,默认是从列表的上面到下面来打压力
-b 进行压力测试,不进行延时
-t  持续时间,即测试持续时间,在NUM时间后结束,单位默认为分


Siege 修正参数进行压力测试
  1. ./siege -c 500 -r 150 -f sites.list -i -b
复制代码


3.webbench web/proxy测试软件,相当不错!
http://home.tiscali.cz:8080/~cz210552/webbench.html
http://www.ibiblio.org/pub/Linux ... webbench-1.5.tar.gz

4.sysbench  数据库压力测试不错的软件,当你mysql调优以后不防有这个压压测试一下
http://sysbench.sourceforge.net/
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。
       它主要包括以下几种方式的测试:
       1、cpu性能
       2、磁盘io性能
       3、调度程序性能
       4、内存分配及传输速度
       5、POSIX线程性能
       6、数据库性能(OLTP基准测试)
       目前sysbench主要支持 MySQL,pgsql, oracle 这3种数据库。


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
http://www.opensourcetesting.org/performance.php

一、webbench
Web-bench is a simple web server benchark.
Web Bench is very simple tool for benchmarking WWW or proxy servers. Uses fork() for simulating multiple clients and can use HTTP/0.9-HTTP/1.1 requests.
This benchmark is not very realistic, but it can test if your HTTPD can realy handle that many clients at once (try to run some CGIs) without taking your machine down.
Displays pages/min and bytes/sec. Can be used in more aggressive mode with -f switch.
What's New in This Release:

# tar zxvf webbench-1.5.tar.gz
# cd webbench-1.5
# make && make install

#webbench -c 500 -t 30
参数说明:-c表示并发数,-t表示时间(秒)

二、Siege:压力模拟/测试工具

最早使用的压力测试工具是apache的ab(apache benchmark),apache ab做重复压力测试不错,但是每次只能测试一个链接,如何测试一组链接(比如从日志中导出的1个小时的日志,做真实压力测试),后来找到了这个:
Siege是一个压力测试和评测工具,设计用于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.

下载/安装
Siege时一个开放源代码项目:http://www.joedog.org

下载:
wget ftp://sid.joedog.org/pub/siege/siege-latest.tar.gz

安装:
# ./configure
#make && make install

siege包含了一组压力测试工具:
SIEGE (1) Siege是一个HTTP压力测试和评测工具.
使用样例:
任务列表:www.chedong.com.url文件
http://www.chedong.com/tech/
http://www.chedong.com/tech/acdsee.html
http://www.chedong.com/tech/ant.html
http://www.chedong.com/tech/apache_install.html
http://www.chedong.com/tech/awstats.html
http://www.chedong.com/tech/cache.html
http://www.chedong.com/tech/click.html
http://www.chedong.com/tech/cms.html
http://www.chedong.com/tech/compress.html
http://www.chedong.com/tech/cvs_card.html
http://www.chedong.com/tech/default.html
http://www.chedong.com/tech/dev.html
http://www.chedong.com/tech/gnu.html
....

# siege -c 20 -r 2 -f www.sina.com.cn
参数说明:
-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


网络IO性能测试: http://bbs.linuxtone.org/thread-5437-1-1.html
httpload: http://bbs.linuxtone.org/thread-2899-1-2.html
             http://bbs.linuxtone.org/thread-1097-1-2.html
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

Rank: 1

注册时间
2008-5-26
最后登录
2019-1-18
在线时间
1 小时
阅读权限
1
积分
40
帖子
4
主题
1
精华
0
UID
9
发表于 2008-5-30 14:39:19 |显示全部楼层
不错,压测很重要,模拟实际压力不容易

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2017-3-31
在线时间
790 小时
阅读权限
200
积分
68279
帖子
1398
主题
190
精华
10
UID
31
发表于 2008-6-2 18:17:47 |显示全部楼层
非常好,我马上就要开用了。。。。

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2017-3-31
在线时间
790 小时
阅读权限
200
积分
68279
帖子
1398
主题
190
精华
10
UID
31
发表于 2008-6-3 13:43:14 |显示全部楼层
希望 能给每个软件加个简单的操作说明。安装就不用啦~~

这样也好照顾下新手嘛。   :lol
<-sina_sign,1054764633,8fd6ea04,4-><-sina_sign,1054764633,7->

使用道具 举报

Rank: 1

注册时间
2008-6-6
最后登录
2010-1-15
在线时间
17 小时
阅读权限
1
积分
5
帖子
10
主题
1
精华
0
UID
52
发表于 2008-6-17 17:22:22 |显示全部楼层
测试工具还是推荐HP-Mercury的
负载LOADRUNNER,自动化的WINRUNNER QTP,测试管理TD
一应俱全。我自己用,也不购买,每次出新版本必然有人去破解。

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2018-12-7
在线时间
1943 小时
阅读权限
200
积分
58977
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2008-6-17 17:33:32 |显示全部楼层
原帖由 lucky'str1ke 于 2008-6-17 17:22 发表
测试工具还是推荐HP-Mercury的
负载LOADRUNNER,自动化的WINRUNNER QTP,测试管理TD
一应俱全。我自己用,也不购买,每次出新版本必然有人去破解。



作为开源爱好者,我推荐使用开源软件,可以做出比商业软件更漂亮的分析报告图表:)还有在开源平台上跑起来更顺畅!:lol
&amp;lt;-sina_sign,1762622645,2a5b1a59,10-&amp;gt;感谢大家对linuxtone的支持!&amp;lt;/strong&amp;gt;

使用道具 举报

Rank: 1

注册时间
2008-6-6
最后登录
2010-1-15
在线时间
17 小时
阅读权限
1
积分
5
帖子
10
主题
1
精华
0
UID
52
发表于 2008-6-18 09:08:15 |显示全部楼层
谁说他的出图比LR的更好看啊 ,回头我给你一个测试报告看看,LR的出图。

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2017-3-31
在线时间
790 小时
阅读权限
200
积分
68279
帖子
1398
主题
190
精华
10
UID
31
发表于 2008-6-19 09:42:59 |显示全部楼层
原帖由 lucky'str1ke 于 2008-6-18 09:08 发表
谁说他的出图比LR的更好看啊 ,回头我给你一个测试报告看看,LR的出图。


你应该把破解版的放上来嘛,再来张图,我们好比比!  :lol
<-sina_sign,1054764633,8fd6ea04,4-><-sina_sign,1054764633,7->

使用道具 举报

LT管理团队

守住每一天

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-30
最后登录
2017-3-31
在线时间
790 小时
阅读权限
200
积分
68279
帖子
1398
主题
190
精华
10
UID
31
发表于 2008-6-20 09:52:14 |显示全部楼层
autobench+httpperf
就是用autobench+httpperf  测试完后,都能正常做测试
但使用bench2png 无法生成png图像

原来的操作是:
cp /usr/local/bin/bench2graph /usr/local/bin/bench2png
vi /usr/local/bin/bench2png
sed -i 's/postscript color/png xffffff/g' /usr/local/bin/bench2png

然后 运行:
bench2png results.tsv nginx/html/result12.png

提示:
  1.   
  2. # bench2png results.tsv nginx/html/result12.png
  3. Enter the title :

  4. set terminal color/png xffffff
  5.              ^
  6. "gnuplot.cmd", line 1: unknown or ambiguous terminal type; type just 'set terminal' for a list
复制代码

[ 本帖最后由 守住每一天 于 2008-6-20 09:59 编辑 ]
<-sina_sign,1054764633,8fd6ea04,4-><-sina_sign,1054764633,7->

使用道具 举报

Rank: 3Rank: 3

注册时间
2009-3-20
最后登录
2013-3-14
在线时间
4 小时
阅读权限
30
积分
292
帖子
3
主题
1
精华
0
UID
2032
发表于 2009-6-5 15:02:36 |显示全部楼层
好东西.啊..顶...

使用道具 举报

Rank: 3Rank: 3

注册时间
2009-5-31
最后登录
2019-3-8
在线时间
1 小时
阅读权限
30
积分
217
帖子
5
主题
0
精华
0
UID
3315
发表于 2010-3-30 17:55:29 |显示全部楼层
siege很好用,能够很方便的获得tps

使用道具 举报

Rank: 1

注册时间
2010-2-13
最后登录
2011-11-2
在线时间
2 小时
阅读权限
1
积分
15
帖子
17
主题
3
精华
0
UID
7938
发表于 2010-8-3 10:15:56 |显示全部楼层
很好的学习资料

使用道具 举报

Rank: 2

注册时间
2009-3-16
最后登录
2018-4-3
在线时间
19 小时
阅读权限
20
积分
177
帖子
17
主题
1
精华
0
UID
1931
发表于 2010-8-19 09:27:52 |显示全部楼层
非常好,我马上就要开用了。。。。

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-8-6
最后登录
2019-3-8
在线时间
24 小时
阅读权限
70
积分
2822
帖子
13
主题
0
精华
0
UID
10040
发表于 2010-11-8 12:14:52 |显示全部楼层
好好好东西,这种软件好好收藏

使用道具 举报

Rank: 6Rank: 6

注册时间
2010-7-3
最后登录
2019-3-8
在线时间
70 小时
阅读权限
70
积分
4917
帖子
47
主题
8
精华
0
UID
9700
发表于 2011-3-28 15:59:51 |显示全部楼层
还是推荐http_load
http_load -p 1000 -s 3600 url
url 用于存放 单个或者多个url地址

924726 fetches, 1000 max parallel, 3.53456e+11 bytes, in 3000 seconds
382228 mean bytes/connection
308.242 fetches/sec, 1.17819e+08 bytes/sec
msecs/connect: 199.504 mean, 7618.55 max, 0.199 min
msecs/first-response: 320.283 mean, 11554.6 max, 23.037 min
5589 bad byte counts
HTTP response codes:
  code 200 -- 919137
########################################################

运行了924726 次请求,最大1000并发,传输3.53456e+11字节,共3000秒
平均每次传输382228
每秒的响应请求为308.242,每秒传递的数据为1.17819e+08 bytes/sec
响应时间: 每次请求需要的时间, 平均199.504 , 最大7618.55, 最小0.199
第一个包响应时间:平均320.283,最大11554.6 ,最小23.037
5412个 错误的传输
  code 200 -- 919137'

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-3-21 11:22 , Processed in 0.033495 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部