最新消息:

用Siege给网站做压力测试

Apache 大步 3300浏览 0评论

一直想知道nginx在256M的vps能扛多大的压力,以前有一次,我同时编辑60篇日志,php-fpm进程挂了,导致网站直接502,所以,今天打算用压力测试软件测试下,首先我想到的是用ab.exe,让网友也帮着我测试,结果发现没反应,无法建立到我网站的连接,显示被我服务器拒绝了。网友使用了webbench依旧没什么反应索性我试了下Siege,一开测试,立马下过就来了,我的网站立马502。以下是使用方法:

第一步:下载安装Siege

siege有很多版本了,http://www.joedog.org/pub/siege/

#wget http://www.joedog.org/pub/siege/siege-2.78.tar.gz      //下载新版本的,lastest我没试

# tar -zxf siege-2.78.tar.gz              //解压
# cd siege-2.78                               //进入解压后的目录
#./configure ; make                      //编译安装
#make install

第二步:使用Siege开始测试(自己折腾自己网站)

先自己建立个txt,命令为x.txt,放到siege的目录。里面每行放一个你要测试网站的链接,我自己放了五条我网站的链接

以下是siege的参数说明:

Usage: siege [options]
       siege [options] URL
       siege -g URL
Options:
  -V, --version             VERSION, prints the version number.
  -h, --help                HELP, prints this section.
  -C, --config              CONFIGURATION, show the current config.
  -v, --verbose             VERBOSE, prints notification to screen.
  -q, --quiet               QUIET turns verbose off and suppresses output.
  -g, --get                 GET, pull down HTTP headers and display the
                            transaction. Great for application debugging.
  -c, --concurrent=NUM      CONCURRENT users, default is 10
  -i, --internet            INTERNET user simulation, hits URLs randomly.
  -b, --benchmark           BENCHMARK: no delays between requests.
  -t, --time=NUMm           TIMED testing where "m" is modifier S, M, or H
                            ex: --time=1H, one hour test.
  -r, --reps=NUM            REPS, number of times to run the test.
  -f, --file=FILE           FILE, select a specific URLS FILE.
  -R, --rc=FILE             RC, specify an siegerc file
  -l, --log[=FILE]          LOG to FILE. If FILE is not specified, the
                                            default is used: PREFIX/var/siege.log
  -m, --mark="text"         MARK, mark the log file with a string.
  -d, --delay=NUM           Time DELAY, random delay before each requst
                                               between 1 and NUM. (NOT COUNTED IN STATS)
  -H, --header="text"       Add a header to request (can be many)
  -A, --user-agent="text"   Sets User-Agent in request
  -T, --content-type="text" Sets Content-Type in request

然后输入一下命令:

#siege -c 200 -r 10000  -f x.txt                  //-c   后面的200表示模拟并发数;-r 后面10000表示重复次数

我测试的时候首先把并发数改成2000,悲剧的是自己网站的没挂掉,到时用于发送请求的vps自己卡了。最后,我试着将重复次数提高到10000,立马来效果,网站502了。

以下是运行后的结果:

Transactions:                4112 hits
Availability:               79.98 %
Elapsed time:               57.00 secs
Data transferred:           44.23 MB
Response time:                2.06 secs
Transaction rate:           72.14 trans/sec
Throughput:                0.78 MB/sec
Concurrency:              148.75
Successful transactions:        4112
Failed transactions:            1029
Longest transaction:           11.52
Shortest transaction:            0.20                                    //不懂的自行google吧

参考文档

 

 Siege 网站 压力

转载请注明:大步's Blog » 用Siege给网站做压力测试

SiteMap