• 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

  • 相关阅读:
    day6_redis模块和pipeline
    day6_hashlib模块
    18 MySQL数据导入导出方法与工具介绍之二
    【Vijos1264】神秘的咒语
    【Vijos1180】选课
    【vijos1234】口袋的天空
    【vijos1790】拓扑编号
    【WC2008】【BZOJ1271】秦腾与教学评估(二分,前缀和,奇偶性乱搞)
    【Baltic2003】【BZOJ1370】Gang团伙(并查集,拆点)
    【基础】二分算法学习笔记
  • 原文地址:https://www.cnblogs.com/lansan0701/p/6340465.html
Copyright © 2020-2023  润新知