webbench

原理

webbench首先fork出多个子进程,每个子进程都循环做web访问测试。子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果(转至百度百科)

安装

[root@VM_114_93_centos local]# wget  http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz[root@VM_114_93_centos local]# tar -zxvf webbench-1.5.tar.gz webbench-1.5
webbench-1.5/
webbench-1.5/webbench.1
webbench-1.5/socket.c
webbench-1.5/webbench.c
webbench-1.5/Makefile
webbench-1.5/debian/
webbench-1.5/debian/rules
webbench-1.5/debian/dirs
webbench-1.5/debian/copyright
webbench-1.5/debian/control
webbench-1.5/debian/changelog
webbench-1.5/COPYRIGHT
webbench-1.5/ChangeLog[root@VM_114_93_centos local]# cd webbench-1.5/[root@VM_114_93_centos webbench-1.5]# make && make install

安装过程中报错总结

  • /bin/sh: ctags: command not found,解决方法:yum install ctags
  • install: cannot create regular file ‘/usr/local/man/man1’: No such file or directory 解决方法:mkdir /usr/local/man

然后在输出 make && make install

使用

安装完成后输出webbench,出现help界面

[root@VM_114_93_centos webbench-1.5]# webbench
webbench [option]... URL-f|--force               Don't wait for reply from server.
  -r|--reload              Send reload request - Pragma: no-cache.
  -t|--time <sec>          Run benchmark for <sec> seconds. Default 30.
  -p|--proxy <server:port> Use proxy server for request.
  -c|--clients <n>         Run <n> HTTP clients at once. Default one.
  -9|--http09              Use HTTP/0.9 style requests.
  -1|--http10              Use HTTP/1.0 protocol.
  -2|--http11              Use HTTP/1.1 protocol.
  --get                    Use GET request method.
  --head                   Use HEAD request method.
  --options                Use OPTIONS request method.
  --trace                  Use TRACE request method.
  -?|-h|--help             This information.
  -V|--version             Display program version.

使用

[root@VM_114_93_centos swoole]# webbench -c 1000 -t 10 http://www.baidu.com/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://www.baidu.com/
1000 clients, running 10 sec.Speed=5766 pages/min, 11568162 bytes/sec.
Requests: 958 susceed, 3 failed.

速度:每秒钟响应请求数:5766 pages/min,每秒钟传输数据量11568162 bytes/sec.
返回数:958 次返回成功,3次返回失败

ab

ab(apache bench)是apache下的一个工具,主要用于对web站点做压力测试,

安装

可以值安装Apache的tools

yum -y install httpd-tools

使用

-n在测试会话中所执行的请求个数。默认时,仅执行一个请求。
-c一次产生的请求个数。默认是一次一个。

[dev@web ~]$ ab -c 20 -n 50000 http://192.168.1.210/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.1.210 (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Completed 45000 requests
Completed 50000 requests
Finished 50000 requests
Server Software: nginx/1.6.2
Server Hostname: 192.168.1.210
Server Port: 80
Document Path: /
Document Length: 41005 bytes # 请求的页面大小
Concurrency Level: 20 # 并发量
Time taken for tests: 1180.733 seconds # 测试总共耗时
Complete requests: 50000 # 完成的请求
Failed requests: 0 # 失败的请求
Write errors: 0 # 错误
Total transferred: 2067550000 bytes # 总共传输数据量
HTML transferred: 2050250000 bytes
Requests per second: 42.35 [#/sec] (mean) # 每秒钟的请求量。(仅仅是测试页面的响应速度)
Time per request: 472.293 [ms] (mean) # 等于 Time taken for tests/(complete requests/concurrency level) 即平均请求等待时间(用户等待的时间)
Time per request: 23.615 [ms] (mean, across all concurrent requests) # 等于 Time taken for tests/Complete requests 即服务器平均请求响应时间 在并发量为1时 用户等待时间相同
Transfer rate: 1710.03 [Kbytes/sec] received # 平均每秒多少K,即带宽速率
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 18.5 0 1001
Processing: 38 471 534.1 155 9269
Waiting: 37 456 524.6 147 9259
Total: 40 472 534.5 155 9269
Percentage of the requests served within a certain time (ms)
50% 155
66% 571
75% 783
80% 871
90% 1211
95% 1603
98% 1839
99% 2003
100% 9269 (longest request)

剩余参数可以用ap --help 查看

siege

安装

下载:wget http://www.joedog.org/pub/siege/siege-latest.tar.gz
解压: tar -zxvf siege-latest.tar.gz
cd siege-*.*.*
./configure --prefix=/usr/local/siege --mandir=/usr/local/man --with-ssl=/usr/local/ssl
mkdir -p /usr/local/siege/etc
mkdir -p /usr/local/siege/var
make
make install查看配置文件
/usr/local/siege/bin/siege -C

siege的使用

举例说明:

50个用户(每次并发量)重复100次 共产生 50*100 个请求
/usr/local/siege/bin/siege -c 50 -r 100 www.baidu.com

50个用户 重复100次 发送GET参数
/usr/local/siege/bin/siege -c 50 -r 100 http://www.baidu.com/s?wd=siege&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=4&rsv_sug=2&rsv_sug1=4&rsv_sug4=60

50个用户 重复100次 发送POST参数 (注意引号)
/usr/local/siege/bin/siege -c 50 -r 100 “https://www.abc.com/a.php POST name=zhangsan”

50个用户 重复100次 发送POST参数(从文件中读取)
/usr/local/siege/bin/siege -c 50 -r 100 “https://www.abc.com/a.php POST < /root/ab_test/post.xml”

另外还有挺多参数
详情请man 或 siege -h

Transactions:                     10 hits    :服务器接收的请求数
Availability:                 100.00 %       :有效情况的比例
Elapsed time:                   1.06 secs    :  测试所用的时间
Data transferred:               0.04 MB    :每个模拟用户的数据传输量
Response time:                  0.03 secs    :响应每个模拟用户请求的平均时间
Transaction rate:               9.43 trans/sec    :服务器每秒处理事务的平均数
Throughput:                     0.04 MB/sec    :服务器每秒跟所有模拟用户的数据传输量
Concurrency:                    0.25    :每秒的模拟连接
Successful transactions:          10    :处理成功的事务数(code<400)
Failed transactions:               0    : 处理失败的事务数(code>400)
Longest transaction:            0.04    :最长的事务处理时间
Shortest transaction:           0.02    :最短的事务处理时间

https://www.joedog.org/siege-faq/

【WEB】Web性能压力测试工具相关推荐

  1. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论 一.http_load 程序非常 ...

  2. Web必备性能压力测试工具WebBench与ApcheBench(ab)详解

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  3. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程

    一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般 ...

  4. 三种web性能压力测试工具

    三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://w ...

  5. 【总结】个人推荐的接口测试工具和接口性能/压力测试工具

    一般接口有2种测试,现在很多是模糊了这个,但是如果细分.一般还要写<接口测试用例>和<接口性能测试用例>.同样,也分接口测试报告和接口性能测试报告. 接口的本质及其工作原理 接 ...

  6. Web性能压力测试工具——Siege详解

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

  7. Web性能压力测试工具之WebBench详解

    在运维工作中,压力测试是一项很重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验.但是,在压力测试中存在一个共性,那就是压力测试的结果 ...

  8. Web性能压力测试工具-Webbench

    目录 Webench Webbench实现的核心原理 安装和使用 注意总结 安全隐患 Webench Webench是一款LInux轻量级的网站测压工具,最多可以对网站模拟3w左右的并发请求,可以控制 ...

  9. 三种web性能压力测试工具http_load webbench apache benc

    题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://www.acme.com/software/http_load/http_l ...

最新文章

  1. 【建站系列教程】6、.htaccess文件的url重写规则-网页伪静态化
  2. soalris小記...
  3. 用户权限管理:最常用的架构模型介绍
  4. 程序员过关斩将--从未停止过的系统架构设计步伐
  5. linux 用脚本建分区,脚本创建磁盘分区
  6. LeetCode 946. 验证栈序列(栈)
  7. Sublime Text 2插件安装及快捷键介绍
  8. asp.net 报表页面模板_Stimulsoft ASP.NET MVC报表教程:在设计器中保存报表模板
  9. 关于#pragma warning 用法的研究
  10. 高等代数期末考试题库及答案_高等代数二考试题及答案期末答案
  11. code runner 运行配置
  12. python中怎么查看二进制转换的数据_python二进制数据
  13. 服务器安装版u盘如何制作,U盘怎么安装原版Windows server 2016?
  14. IOS9 未受信任的企业级开发者 没有信任按钮 解决
  15. 浅谈AI绘图工具Midjourney
  16. Mac 解决 ERROR launching ‘JD-GUI‘
  17. 使用el-tag文字过长超出隐藏
  18. linux自动电梯设计,基于嵌入式Linux电梯控制系统
  19. mysql如何重复数据合并_mysql合并重复数据
  20. 血与荣耀(第四章-命令的镣铐)

热门文章

  1. python制作英语字典_Python爬虫之自制英汉字典
  2. 虚拟机可以做成存储服务器吗,利用win10自带虚拟机功能轻松打造家用nas
  3. VulnHub渗透测试实战靶场笔记(持续更新)
  4. CRUSH算法 - 可控、可伸缩、分布式地归置多副本数据
  5. bat脚本,windown定时关机,取消定时关机,设置延长关机时间
  6. Authentication和Authrization(下)
  7. 转转集团品牌战略升级:更换新LOGO,1亿美元战投红布林
  8. PHP is_file 和file_exists的区别
  9. redis哨兵模式出现connected_slaves:0解决办法
  10. Android的StrictMode