zoukankan      html  css  js  c++  java
  • Web性能压力测试工具之Siege详解

    PS:Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能。但不要使用siege来执行最高性能基准调校测试,这方面ab就准确很多。

    Siege官网:http://www.joedog.org/
    Siege下载:wget http://www.joedog.org/pub/siege/siege-latest.tar.gz

    解压并安装:

    # tar -zxvf siege-latest.tar.gz
    # cd siege-2.72/
    # ./configure
    # make
    # make install

    参数详解:

    -C,或–config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件$HOME/.siegerc中,可以编辑里面的参数,这样每次siege 都会按照它运行.
    -v 运行时能看到详细的运行信息
    -c n,或–concurrent=n 模拟有n个用户在同时访问,n不要设得太大,因为越大,siege 消耗本地机器的资源越多
    -i,–internet 随机访问urls.txt中的url列表项,以此模拟真实的访问情况(随机性),当urls.txt存在是有效
    -d n,–delay=n hit每个url之间的延迟,在0-n之间
    -r n,–reps=n 重复运行测试n次,不能与 -t同时存在
    -t n,–time=n 持续运行siege ‘n’秒(如10S),分钟(10M),小时(10H)
    -l 运行结束,将统计数据保存到日志文件中siege .log,一般位于/usr/local/var/siege .log中,也可在.siegerc中自定义
    -R SIEGERC,–rc=SIEGERC 指定用特定的siege 配置文件来运行,默认的为$HOME/.siegerc
    -f FILE, –file=FILE 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下的etc/urls.txt
    -u URL,–url=URL 测试指定的一个URL,对它进行”siege “,此选项会忽略有关urls文件的设定

    urls.txt文件:是很多行待测试URL的列表以换行符断开,格式为:
    [protocol://]host.domain.com[:port][path/to/file]

    用法举例:

    siege -c 300 -r 100 -f url.txt

    说明:-c是并发量,-r是重复次数。url.txt就是一个文本文件,每行都是一个url,它会从里面随机访问的。

    url.txt内容:

    http://192.168.80.166/01.jpg
    http://192.168.80.166/02.jpg
    http://192.168.80.166/03.jpg
    http://192.168.80.166/04.jpg
    http://192.168.80.166/05.jpg
    http://192.168.80.166/06.jpg

    如图所示:

    结果说明:

    ** SIEGE 2.72
    ** Preparing 300 concurrent users for battle.
    The server is now under siege.. done.

    Transactions: 30000 hits //完成30000次处理
    Availability: 100.00 % //100.00 % 成功率
    Elapsed time: 68.59 secs //总共使用时间
    Data transferred: 817.76 MB //共数据传输 817.76 MB
    Response time: 0.04 secs //响应时间,显示网络连接的速度
    Transaction rate: 437.38 trans/sec //平均每秒完成 437.38 次处理
    Throughput: 11.92 MB/sec //平均每秒传送数据
    Concurrency: 17.53 //实际最高并发连接数
    Successful transactions: 30000 //成功处理次数
    Failed transactions: 0 //失败处理次数
    Longest transaction: 3.12 //每次传输所花最长时间
    Shortest transaction: 0.00 //每次传输所花最短时间

  • 相关阅读:
    SqlMembershipProvider的配置
    自定义HtppHandler和HttpModule
    [导入]Sql Server 2005 Express中配置用户
    [导入]Asp.net中使用客户端脚本的方法
    JumpServer 架构浅解
    你准备好开始DevOps了吗?
    为什么是戒了爱你
    今天考试了
    [心疼女友]
    这个世界看不清
  • 原文地址:https://www.cnblogs.com/DoNetCShap/p/5549055.html
Copyright © 2011-2022 走看看