列表格式显示

01网络软件 - 分类

广告招商中......
联系方式!

服务器区 - 时间排序 更多...
    服务器区 - 点击排序 更多...
      服务器区 - 大小排序 更多...
        作者

         

        最近发布的软件 更多>>

        首页 >> 01网络软件>> 服务器区>>siege压力测试post 发布者:admin >> 本人发布的更多软件

        广告招商中...... 联系方式!

        siege压力测试post 

        时间:2023-12-30 23:43:29      作者:admin     访问量:1  
             
        软件厂家: 官方网站:
        大小: 语言:
        类型: 类别:
        更新时间: 运行环境:
        ;开始下载地址
        软件标签: web siege

        siege 是一个压力测试和评测工具,设计用于web开发这评估应用在压力下的承受能力:可以根据配置对一个web站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

        siege 2.73b1 发布,该版本修复了 kfreebsd-* 内核下的编译问题,同时利用 /dev/urandom 来提升随机性。

        安装方法

        编译安装

        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

        通过包安装

        debian/ ubuntu

        apt-get install siege

        centos

        yum install siege

        二、参数详解

        命令行参数说明:

        -c,或–config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件home/.siegerc

        -f file, –file=file 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下的 etc /urls.txt

        -u url,–url=url 测试指定的一个url,对它进行”siege “,此选项会忽略有关urls文件的设定

        -b 进行压力测试,不进行延时。

        -a, —user-agent=”text” 设置请求的user-agent

        siegerc设定档说明:

        verbose :要不要显示过程。

        display-id :显示过程的时候,要不要显示模拟user的id

        show-logfile :跑完之后要不要显示log资讯

        logging :要不要log到档案

        logfile :要log到档案的话,档名是什么

        protocol :http通讯协定( http/1.1或http/1.0 两者择一)

        connection : keep -alive表示模拟成persistent connection(写close则反之)

        concurrent :模拟有几个user来冲

        time :跑多久之后停止( h=hours, m=minutes, s=seconds)

        reps :每一个concurrent冲几次。

        file :多个目的url情形下的url档案位置。

        url :单一url情形下的指定url

        delay :非benchmakr行况下,每个模拟user随机延迟0到这个数字(单位:秒)。

        timeout :socket connection timeout(单位:秒)。

        failures :socket失败次数(timeouts, connection failures)到达这个数字就停下来。

        internet :随机从urls.txt抓出url,否则从urls.txt循序。

        benchmark :跑benchmark模式的话,siege将不会在每个connection间delay,适合拿来做load testing.

        user-agent :送出的agent识别

        login :www-authenticate login( login = jdfulmer:topsecret:admin )(非form based)

        username,password :也是login用的(非form based)

        login url :每一个模拟user都必需经过的第一个login url( form based)

        proxy-host,proxy-port,proxy-login :使用proxy的话要填这个。(proxy-login: jeff:secret:corporate)

        follow-location :redirection support

        zero-data-ok :接不接受zero-length data

        chunked :http/1.1需要chunked encoding

        三、用法举例

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

        说明:-c是并发量,-r是重复次数。url.txt就是一个文本文件,里面是要测试的url,url.txt每行都是一个url。

        urls.txt文件是很多行待测试url的列表以换行符断开,格式为:

        [protocol://]host.domain.com[:port][path/to/file]

        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 10 concurrent users for battle.

        the server is now under siege.. ? ? ?done.

        transactions: ? ? ? ? ? ? ? ? 300 hits ?#已完成的事务总署

        availability: ? ? ? ? ? ? ?100.00 % ? #完成的成功率

        elapsed time: ? ? ? ? ? ? ? ?0.08 secs ? #总共使用的时间

        data transferred: ? ? ? ? ? ?0.94 mb ? #响应中数据的总大小

        response time: ? ? ? ? ? ? ? ?0.00 secs ? #显示网络连接的速度

        transaction rate: ? ? ? ? 3750.00 trans/sec ?#平均每秒完成的事务数

        throughput:

        11.79 mb/sec ?#平均每秒传送的数据量

        concurrency: ? ? ? ? ? ? ? ?8.50 ?#实际最高并发链接数

        successful transactions: ? ? ? ? 300 ?#成功处理的次数

        failed transactions: ? ? ? ? ? ? ? 0 ? ?#失败处理的次数

        longest transaction: ? ? ? ? ? ?0.01 ? #最长事务处理的时间

        shortest transaction: ? ? ? ? ? ?0.00 ? #最短事务处理时间

        四、常用的siege命令举例

        200个并发对www.google.com发送请求100次

        siege -c 200 -r 100 http://www.google.com

        在urls.txt中列出所有的网址

        siege -c 200 -r 100 -f urls.txt

        随机选取urls.txt中列出所有的网址

        siege -c 200 -r 100 -f urls.txt -i

        delay=0,更准确的压力测试,而不是功能测试

        siege -c 200 -r 100 -f urls.txt -i -b

        指定http请求头 文档类型

        siege -h "content-type:application/json" -c 200 -r 100 -f urls.txt -i -b

        五、siege使用的一些总结

        发送post请求时,url格式为:http://www.xxxx.com/ post p1=v1&p2=v2

        如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确

        siege自身感觉也是有瓶颈的,并发数最大也就1000,再提高就会报下面这样的错误

        [error] socket: unable to connect sock.c:222: operation already in progress socket: connection timed out

        这样最终导致测试结果怎么都没法超过2w每秒的请求,所以就把siege -c 1000 -r 100 -i -b -f url.txt 放到shell中并发执行

        #!/bin/bash

        user_agent="siege 1.0"

        siege_rc="siege.rc"

        concurrent=150

        repet=200

        siege_single_urls="singleurl.txt"

        siege_prefix_urls="prefixurl.txt"

        for i in {1..10}

        do

        siege -c $concurrent -r $repet -i -b -f $siege_single_urls -r $siege_rc -a "$user_agent" &;

        done


        本页Html网址:/htmlsoft/2885.html

        本页aspx网址:/soft.aspx?id=2885&bianhao=20231230_234329_865937&kind1=01网络软件&kind2=服务器区

        最后访问时间:

        上一篇:Microsoft Exchange Server 2007简体中文版

        下一篇:Asp.net服务器(Asp.net Development Server)

        增加   


        相关评论        新窗口打开查看评论