Webbench 是一个简单且轻量级的Web服务器压力测试工具,它通过创建多个子进程来模拟多个客户端同时向服务器发送请求。运行平台是linux
安装Webbench:
1 下载Webbench源代码:
wget http://www.ha97.com/code/webbench-1.5.tar.gz2 解压源代码包:
tar zxvf webbench-1.5.tar.gz3 进入解压后的目录:
cd webbench-1.54 编译源代码:
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应用和移动应用的测试。 
-  提供详细的性能分析和优化建议。 
 
-  
这些工具各有特点,可以根据测试需求、预算和技术栈来选择合适的性能测试工具。开源工具通常具有较低的成本和高度的可定制性,而商业工具则可能提供更全面的支持和功能
更多内容在
