分享

Httperf + AutoBech + GnuPlot 构建 WEB SERVER 压力测试系统

 用勿龍潛 2013-08-20

Httperf + AutoBech + GnuPlot 构建 WEB SERVER 压力测试系统

 (2011-09-23 17:33:02)

Apache ab 可能是最知名,也是最容易使用的一个压力测试工具。但 ab 相对比较简单,做一些轻量级的,或者要求相对宽松的 WEB 压力测试是比较合适的。但碰到复杂环境,或者需要同时测试两台 WEB SERVER (两个环境)进行对比时,ab 就显的力不从心了。并且,在正规的压力测试报告中,还需要对数据结果进行绘图分析。这些,都是 ab 所不具备的。所以,特意研究了一下 Httperf + AutoBech + GnuPlot 测试系统,发现这个测试平台还是非常不错的,测试方法和手段灵活,支持 2 台 WEB SERVER 进行对比测试,并且能够快速方便的生成各个测试项目的统计图表。

作者:Nanu <http://www./>
转载请注明作者,谢谢!

一、资源
Htterf: http://code.google.com/p/httperf/
AutoBech: http://www./autobench/
GnuPlot: http://www./

二、安装 Httperf & Httperf
1. Httperf

./configure --prefix=/usr/local/httperf make && make install export PATH="$PATH:/usr/local/httperf/bin"

2. AutoBech

make && make install

三、安装 GnuPlot
1. 检查所需的 RPM 包

png-devel, libjpeg-devel, libtiff-devel, freetype-devel

2. 安装 GD

./configure --prefix=/usr/local/gd2

3. 安装 GnuPlot

./configure \ "--prefix=/usr/local/gnuplot" \ "--with-cwdrc" \ "--without-row-help" \ "--with-kpsexpand" \ "--with-gd=/usr/local/gd2" \ make && make install ln -s /usr/local/gd2/lib/libgd.so.2.0.0 /usr/lib/libgd.so.2

四、测试
1. Httperf

httperf \ --hog \ --server=home. \ --uri=/mysql.php \ --wsess=100,1000,3 \ --burst-length=10 \ --rate=5 \ --timeout=5

如果得出有效测试结果则继续。

2. AutoBech
Singe Host
========

./autobench \ --single_host \ --host1=home. \ --port1=80 \ --uri1=/mysql.php --quiet \ --low_rate=10 \ --high_rate=100 \ --rate_step=5 \ --num_call 15 \ --num_conn 5000 \ --timeout=10 \ --file /opt/Result.tsv

Double Host
=========

./autobench \ --host1=home. \ --port1=80 \ --uri1=/mysql.php \ --host2=h. \ --port2=80 \ --uri2=/mysql_p.php \ --quiet \ --low_rate=5 \ --high_rate=100 \ --rate_step=5 \ --num_call=5 \ --num_conn=1000 \ --timeout=10 \ --file /opt/Result.tsv

3. 生成 PNG 测试图像
(1) 修改 bench2graph

cp /usr/local/bin/bench2graph /usr/local/bin/bench2png vi /usr/local/bin/bench2png 找到:echo set terminal postscript color > gnuplot.cmd 改为:echo set terminal png large size 640,480 truecolor > gnuplot.cmd 找到:set data style 改为:set style data

(2) 生成图像

/usr/local/bin/bench2png /opt/Result.tsv /opt/Result.png [1 2 3 ... n] ( 1 2 3 ... n: 表示 Results.tsv 结果集文件中的项目 )

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多