[root@c webbench]# webbench -c 10 -t 20 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/
10 clients, running 20 sec.
Speed=6246 pages/min, 12464950 bytes/sec.
Requests: 2082 susceed, 0 failed.
[root@c webbench]# ll -as
WebBench----简洁优美的网站压力测试工具 - z_xiao_xue的博客 - CSDN博客 https://blog.csdn.net/z_xiao_xue/article/details/76099899
WebBench是Linux下的一款网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
WebBench能测试相同的服务在不同的硬件的性能和不同服务在相同硬件下的性能。
WebBench的下载安装
1.下载
命令:wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
2.解压缩
命令:tar zxvf webbench-1.5.tar.gz
3.进入webbench目录文件
命令:cd webbench
4.安装
命令1:make
命令2:make install
5.运行
webbench -c 10 -t 20 http://www.baidu.com/
WebBench的主要工作原理
WebBench中各函数的流程及功能
1.build_request()函数------生成HTTP请求
获取请求方法
添加空行
判断URL
获取代理服务器的ip和端口号
获取http版本
2.bench()函数------创建各子进程以发送http请求,并收集统计数据
检测目标服务器是否可以连接,使用connect()
创建一对管道,使用mypipe
创建指定个数的clients的子进程,使用fork()
在子进程中:调用benchcore()执行测试
向管道写入三项数据,成功次数,失败次数,字节数
在父进程中:循环clients次,从管道读入子进程的三项数据
汇总三项数据总和
打印统计结果
benchcore()函数------(在子进程中)反复发送http请求
设置信号,安装闹钟
循环,直到服务器超时
连接服务器,获取fd,更改失败次数
写入http请求,更改失败次数
对HTTP0.9版本做特殊处理
等服务器响应,反复从fd读入相应数据,累加,失败的话更改失败次数
关闭fd
更改成功次数
webbench剖析 - L_XRUI的博客 - CSDN博客 https://blog.csdn.net/l_xrui/article/details/76216079