Webbench 是一个简单且轻量级的Web服务器压力测试工具,它通过创建多个子进程来模拟多个客户端同时向服务器发送请求。运行平台是linux
安装Webbench:
1 下载Webbench源代码:
wget http://www.ha97.com/code/webbench-1.5.tar.gz 
2 解压源代码包:
tar zxvf webbench-1.5.tar.gz 
3 进入解压后的目录:
cd webbench-1.5 
4 编译源代码:
makesudo make install
Webbench 参数列表:
-  
-f或--force:不等待服务器的响应。 -  
-r或--reload:发送重新加载请求 - Pragma: no-cache。 -  
-t或--time <sec>:运行测试时间为<sec>秒。默认为30秒。 -  
-p或--proxy <server:port>:使用代理服务器进行请求。 -  
-c或--clients <n>:并发数,同时运行<n>个HTTP客户端。默认为1。 -  
-9或--http09:使用 HTTP/0.9 风格的请求。 -  
-1或--http10:使用 HTTP/1.0 协议。 -  
-2或--http11:使用 HTTP/1.1 协议。 -  
--get:使用 GET 请求方法。 -  
--head:使用 HEAD 请求方法。 -  
--options:使用 OPTIONS 请求方法。 -  
--trace:使用 TRACE 请求方法。 -  
-?或-h或--help:显示帮助信息。 -  
-V或--version:显示程序版本信息。 
使用方法示例:
1 基本测试
webbench -c 10 -t 60 http://www.baidu.com.cn/ 
这个命令将模拟10个并发连接,持续60秒,对http://www.baidu.com.cn/进行压力测试。执行结果如下,可以看到统计的Speed统计,发出去的request统计。以及成功次数,fail次数。fail就是表示无响应的次数

2 参数详细介绍
-f 或 --force:使用这个选项,Webbench不会等待服务器的响应,直接发送下一个请求。这可以用来进行更激进的测试,但可能会得到不准确的结果,因为它不考虑服务器的实际响应时间。
webbench -f -c 10 -t 60 http://www.baidu.com.cn/ 
-r 或 --reload:这个选项会使Webbench发送带有Pragma: no-cache头部的请求,这样可以强制服务器每次都发送完整的响应,而不是从缓存中返回数据。
webbench -r -c 10 -t 60 http://www.baidu.com.cn/ 
-t 或 --time <sec>:指定测试的持续时间,单位是秒。如果不指定这个选项,默认的测试时间是30秒。
-p 或 --proxy <server:port>:通过指定的代理服务器发送请求。这个选项后面需要跟上代理服务器的地址和端口。
webbench -p proxyserver:8080 http://example.com 
-9或 --http09:使用HTTP/0.9协议进行请求。这是一个非常旧的HTTP版本,通常不支持现代Web应用。
-1 或 --http10:使用HTTP/1.0协议进行请求。
-2 或 --http11:使用HTTP/1.1协议进行请求。这是目前最常用的HTTP协议版本。
示例:
webbench -2 http://example.comwebbench -1 http://example.comwebbench -9 http://example.com
--head:使用HEAD方法进行请求,这种请求只返回响应头,不返回响应体。
webbench --head http://example.com 
-  
--options:使用OPTIONS方法进行请求,这种请求用于描述服务器对特定资源支持的HTTP方法。 
这些参数可以组合使用,以执行更复杂的测试。例如,如果你想通过代理服务器进行测试,使用HTTP/1.1协议,100个并发连接,持续时间为60秒,你可以使用以下命令:
webbench -p proxyserver:8080 -2 -c 100 -t 60 http://example.com 
 
除了Webbench,还有许多其他工具可以用于测试Web服务器的性能。以下是一些流行的性能测试工具:
-  
Apache JMeter:
-  
开源且功能强大的性能测试工具,支持多种协议(HTTP, FTP, JDBC等)。
 -  
提供图形化界面,方便创建和编辑测试计划。
 -  
支持分布式测试,可以模拟大量并发用户。
 
 -  
 -  
LoadRunner(商用):
-  
业界广泛使用的性能测试工具,支持多种协议和应用类型。
 -  
提供详细的性能分析报告和强大的脚本功能。
 -  
支持云测试和移动应用测试。
 
 -  
 -  
Locust:
-  
用Python编写的开源性能测试工具。
 -  
具有简洁的语法和易于理解的测试脚本。
 -  
支持自定义测试场景和实时监控。
 
 -  
 -  
Gatling:
-  
基于Scala的开源性能测试工具,专为高性能和高可靠性设计。
 -  
使用Simulation语言编写测试脚本,易于理解和维护。
 -  
提供丰富的图表和统计数据。
 
 -  
 -  
Httperf:
-  
由惠普公司开发的免费性能测试工具。
 -  
支持HTTP/1.1和SSL协议。
 -  
可以模拟大量并发连接和请求。
 
 -  
 -  
LoadStorm(云服务):
-  
云端负载测试工具,提供低成本的测试方案。
 -  
用户可以在云端创建和管理测试计划。
 -  
支持多种Web应用和API的测试。
 
 -  
 -  
k6:
-  
开源的性能测试工具,支持JavaScript编写测试脚本。
 -  
适用于Web和API的性能测试。
 -  
提供云服务和本地执行选项。
 
 -  
 -  
Artillery:
-  
开源的性能测试工具,使用Node.js编写。
 -  
支持复杂的测试场景和高并发测试。
 -  
提供实时报告和日志分析。
 
 -  
 -  
BlazeMeter(云服务):
-  
提供云端性能测试服务,支持JMeter和Selenium脚本。
 -  
可以进行大规模并发测试。
 -  
提供性能监控和分析工具。
 
 -  
 -  
WebLOAD(商用):
-  
由RadView Software提供的商业性能测试工具。
 -  
支持Web应用和移动应用的测试。
 -  
提供详细的性能分析和优化建议。
 
 -  
 
这些工具各有特点,可以根据测试需求、预算和技术栈来选择合适的性能测试工具。开源工具通常具有较低的成本和高度的可定制性,而商业工具则可能提供更全面的支持和功能
更多内容在
