Webbench,一个简单好用的web压力测试工具

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
  1. --options:使用OPTIONS方法进行请求,这种请求用于描述服务器对特定资源支持的HTTP方法。

这些参数可以组合使用,以执行更复杂的测试。例如,如果你想通过代理服务器进行测试,使用HTTP/1.1协议,100个并发连接,持续时间为60秒,你可以使用以下命令:

webbench -p proxyserver:8080 -2 -c 100 -t 60 http://example.com

除了Webbench,还有许多其他工具可以用于测试Web服务器的性能。以下是一些流行的性能测试工具:

  1. Apache JMeter:

    • 开源且功能强大的性能测试工具,支持多种协议(HTTP, FTP, JDBC等)。

    • 提供图形化界面,方便创建和编辑测试计划。

    • 支持分布式测试,可以模拟大量并发用户。

  2. LoadRunner(商用):

    • 业界广泛使用的性能测试工具,支持多种协议和应用类型。

    • 提供详细的性能分析报告和强大的脚本功能。

    • 支持云测试和移动应用测试。

  3. Locust:

    • 用Python编写的开源性能测试工具。

    • 具有简洁的语法和易于理解的测试脚本。

    • 支持自定义测试场景和实时监控。

  4. Gatling:

    • 基于Scala的开源性能测试工具,专为高性能和高可靠性设计。

    • 使用Simulation语言编写测试脚本,易于理解和维护。

    • 提供丰富的图表和统计数据。

  5. Httperf:

    • 由惠普公司开发的免费性能测试工具。

    • 支持HTTP/1.1和SSL协议。

    • 可以模拟大量并发连接和请求。

  6. LoadStorm(云服务):

    • 云端负载测试工具,提供低成本的测试方案。

    • 用户可以在云端创建和管理测试计划。

    • 支持多种Web应用和API的测试。

  7. k6:

    • 开源的性能测试工具,支持JavaScript编写测试脚本。

    • 适用于Web和API的性能测试。

    • 提供云服务和本地执行选项。

  8. Artillery:

    • 开源的性能测试工具,使用Node.js编写。

    • 支持复杂的测试场景和高并发测试。

    • 提供实时报告和日志分析。

  9. BlazeMeter(云服务):

    • 提供云端性能测试服务,支持JMeter和Selenium脚本。

    • 可以进行大规模并发测试。

    • 提供性能监控和分析工具。

  10. WebLOAD(商用):

    • 由RadView Software提供的商业性能测试工具。

    • 支持Web应用和移动应用的测试。

    • 提供详细的性能分析和优化建议。

这些工具各有特点,可以根据测试需求、预算和技术栈来选择合适的性能测试工具。开源工具通常具有较低的成本和高度的可定制性,而商业工具则可能提供更全面的支持和功能

更多内容在

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿与代码

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值