zoukankan      html  css  js  c++  java
  • Web压力测试小工具:webbench、http_load、Siege、ab

    webbench

    安装

    下载地址:http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz

    或者 http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz

    (1)拷贝文件到linux下
    (2)切换 root帐号:su root,如果不切换,下面的操作中可能会提示“权限不足”,所以先切换
    (3)解压:#tar -zxf webbench-1.5.tar.gz
    (4)#cd webbench-1.5
    (5)安装:#make && make install
    (6)在命令输入:#webbench -help 即可看到使用说明,安装成功!

    使用

    因为文档是简单使用,我们一般只用c:客户端个数  t:持续时间这个2个参数,如果不设置t参数,默认是执行30秒
    进入webbench文件夹后,执行命令:webbench -c 10 http://www.baidu.com 
    命令就是用10个客户端并发百度网站30秒,但是在执行的命令报错了:Invalid URL syntax - hostname don't ends with '/'.
    解决办法就是在url后加个“/”
    执行命令后的结果反馈
     

    说明

    在上个步骤中的结论是
    Speed:每分钟的处理1482个请求;每秒的处理数据量:2495637字节=604.64k/s(2495637/8/1024)=0.29M/s(2495637/8/1024/1024
    Requests:处理的请求中成功740,失败1
     

    小结

    webbench的并发是采用进程运行而非线程,是其为吃内存的一种做法,如果需要长时间进行性能测试,还是推荐用loadrunner
    (部分摘自http://www.cnblogs.com/xxyBlogs/p/5639103.html)

    http_load

    安装

    下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz

    (1)拷贝文件到linux下
    (2)切换 root帐号:su root,如果不切换,下面的操作中可能会提示“权限不足”,所以先切换

    (3)解压:#tar -zxvf http_load-12mar2006.tar.gz
    (4)#cd http_load-12mar2006
    (5)#make && make install

    使用

    准备URL文件(注意:要放在http_load-12mar2006文件夹内):urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好.

    文件格式如下:
    http://hackerfans.com/xxx.html
    http://hackerfans.com/xx.html
    例如:

    http_load -p 30 -s 60  urllist.txt
    参数了解了,我们来看运行一条命令来看看它的返回结果
    命令:% ./http_load -rate 5 -seconds 10 urls说明执行了一个持续时间10秒的测试,每秒的频率为5。

    49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds5916 mean bytes/connection4.89274

    fetches/sec, 28945.5 bytes/secmsecs/connect: 28.8932 mean, 44.243 max, 24.488 minmsecs/first

    -response: 63.5362 mean, 81.624 max, 57.803 minHTTP response codes: code 200 -- 49

    结果分析:
    1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
    说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
    2.5916 mean bytes/connection说明每一连接平均传输的数据量289884/49=5916
    3.4.89274 fetches/sec, 28945.5 bytes/sec
    说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
    4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min

    说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
    5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
    6、HTTP response codes: code 200 -- 49     说明打开响应页面的类型,如果403的类型过多,那可能

    要注意是否系统遇到了瓶颈。
    特殊说明:
    测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项,即服务器每秒能够响应的查询次数,

    用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。
    Qpt-每秒响应用户数和response time,每连接响应用户时间。
    测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的

    cpu、men进行分析,才能得出结论

    Siege

    安装

    下载地址:http://soft.vpser.net/test/siege/siege-2.67.tar.gz

    (1)拷贝文件到linux下
    (2)切换 root帐号:su root,如果不切换,下面的操作中可能会提示“权限不足”,所以先切换

    (3)解压:# tar -zxf siege-2.67.tar.gz

    (4)# cd siege-2.67

    (5)#./configure

    (6)#make

    (7)#make install

    (8)#siege -V查看版本信息。

    (9)使用#siege -h 或者#siege --help查看帮助信息

    安装完成!

    Siege命令常用参数

    -c 200 指定并发数200
    -r 5 指定测试的次数5
    -f urls.txt 制定url的文件
    -i internet系统,随机发送url
    -b 请求无需等待 delay=0
    -t 5 持续测试5分钟
    -r和-t一般不同时使用

    常用的siege命令举例

    200个并发对http://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输出结果说明

    Transactions: 总共测试次数
    Availability: 成功次数百分比
    Elapsed time: 总共耗时多少秒
    Data transferred: 总共数据传输
    Response time: 等到响应耗时
    Transaction rate: 平均每秒处理请求数
    Throughput: 吞吐率
    Concurrency: 最高并发
    Successful transactions: 成功的请求数
    Failed transactions: 失败的请求数

    Siege使用的一些总结

    1,发送post请求时,url格式为:http://www.xxxx.com/ POST p1=v1&p2=v2
    2,如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确
    3,siege -C 可以查看相关的配置参数,可以自行修改,比如是否显示log,超时时间

    ab

    还未使用,可先考下面的文章,使用后再补充心得。

    http://jingyan.baidu.com/article/e3c78d647a57833c4c85f502.html

    http://www.jb51.net/article/59469.htm

  • 相关阅读:
    CodeForces 156B Suspects(枚举)
    CodeForces 156A Message(暴力)
    CodeForces 157B Trace
    CodeForces 157A Game Outcome
    HDU 3578 Greedy Tino(双塔DP)
    POJ 2609 Ferry Loading(双塔DP)
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
  • 原文地址:https://www.cnblogs.com/lansan0701/p/6340465.html
Copyright © 2011-2022 走看看