SuperWebBench

WEB服务器性能/压力测试工具
授权协议 GPL
开发语言 C/C++
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 国产
投 递 者 郜卓君
操作系统 Linux
开源组织
适用人群 未知
 软件概览

SuperWebBench 是由webbench改进而来的一款简单易用的web性能测试工具.

 

背景:

webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。

webbench是基于GPL授权协议的,我自然可以取得源码修改,然后作为superwebbench这个项目发布。

 

简介:

SuperWebBench 是由webbench改进而来的一款简单易用的web性能测试工具

SuperWebBench 是依照GPL V2.0发布的

SuperWebBench是遵循POSIX标准的C语言编写的程序

 

主要改动如下:

1、更正connect()服务器失败时,不能close()的bug

2、使用多线程代替多进程,提供更高的效率

3、自动资源限制检测和设置(线程数和打开文件数限制)

4、测试时间到达后,快速关闭套接字,不用再等待服务器响应(在WAN的情况下,这会占用很多时间)

5、加入了检测HTTP响应号的功能,这样就可以分辨HTTP是否返回了正确的信息(HTTP2XX)

6、重新组织了下代码结构,使得阅读更方便

 

安装:

 

wget https://github.com/downloads/xutongle/SuperWebBench/superwebbench.tar.gz

tar zxvf superwebbench.tar.gz

cd superwebbench

make && make install


superwebbench -c 500 -t 30 http://127.0.0.1/test.jpg 

参数说明:-c表示并发数,-t表示时间(秒)

 

测试结果示例:

 

 

SuperWebBench - Advanced Simple Web Benchmark 0.1

Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Modified By Davelv 2011-11-03

 

Benchmarking:GET http://127.0.0.1/test.jpg (using HTTP/1.1)

 

500 clients, running 30 sec.

 

Speed=5887 pages/sec, 1862058 bytes/sec.

Requests: 0 ok, 176220 http error, 405 failed.

 

示范:

 

superwebbench   

superwebbench [option]... URL  

  -f|--force                      Don't wait for reply from server.  

  -r|--reload                     Send reload request - Pragma: no-cache.  

  -t|--time                 Run benchmark for seconds. Default 30.  

  -p|--proxy        Use proxy server for request.  

  -c|--clients                Run 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. 

 

常见问题:

 

ctags *.c

/bin/sh: ctags: command not found

make: [tags] 错误 127 (忽略)

 

ok,是在centos下没自动安装ctags命令,于是yum install ctags,安装成功。

  • SuperWebBench 下载 https://github.com/gexin0/superwebbench/archive/master.zip 简介 SuperWebBench 是由webbench改进而来的一款简单易用的web性能测试工具 SuperWebBench 是依照GPL V2.0发布的 SuperWebBench是遵循POSIX标准的C语言编写的程序 主要改动如下 1、更正co

 相关资料
  • 仅使用单元测试很难在 Java 应用程序中发现所有瓶颈、死锁和内存泄漏。 我想为我的应用程序添加一定程度的压力测试。我想测试应用程序的极限,并确定它在高负载下的反应。 我想衡量以下几点: 高负载下的可用性 高负载下的性能 高负载下的内存/CPU/磁盘使用情况 是高负载下死机还是反应优雅 测量和对比正常负载下的这些特性也是令人感兴趣的。 他们是众所周知的,解决压力测试的标准技术。我正在寻找建立这样一

  • 本文向大家介绍Web性能压力测试工具Siege使用教程,包括了Web性能压力测试工具Siege使用教程的使用技巧和注意事项,需要的朋友参考一下 Siege是一个多线程http负载测试和基准测试工具。通过使用Siege 提供的功能,可以很容易的制定测试计划:包括规定使用并发用户数、重复数量,从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能。 官方下

  • ab是Apache超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求。 语法 ab [ -A auth-username:password ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-

  • 本文向大家介绍性能测试和压力测试之间的区别,包括了性能测试和压力测试之间的区别的使用技巧和注意事项,需要的朋友参考一下 性能测试 在软件上执行性能测试,以测试其在特定工作负载下的性能,灵敏度,反应时间和稳定性。 压力测试 压力测试检查特定工作负载下软件的可靠性和稳定性。它检查系统是否处于极端状况,例如重负载。 以下是性能测试和压力测试之间的一些重要区别。 序号 键 性能测试 压力测试 1 目的 性

  • APM 厂商「云智慧」是 DaoCloud 的合作伙伴,云智慧提供了用于应用压力测试的产品「压测宝」,可供 DaoCloud 上部署的应用进行分布式压力测试。以下内容由云智慧公司提供。 压测宝介绍 云智慧压测宝: 自动化全链路云测试,模拟真实压力 压测宝可以利用全球的云资源,快速灵活地部署测试,使任何客户都可以根据需求进行互联网和移动应用的性能测试,帮助客户找出系统瓶颈和潜在问题,改善和提升网站品

  • 概述 Web压力测试 工具 LoadRunner LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。 LoadRunner提供了3大

  • 测试环境: 系统:debian 6.0 64位 内存:64G cpu:Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz (2颗物理cpu,6核心,2线程) Workerman:开启200个Benchark进程 压测脚本:benchmark 业务:发送并返回hello字符串 普通PHP(版本5.3.10)压测 短连接(每次请求完成后关闭连接,下次请求建立新的连接):

  • 我想进行压力测试,从预期的用户数开始(或从1个虚拟用户开始),然后逐渐增加负载,例如10个线程、20个线程等等…。100个线程,直到响应时间开始超过可接受的值或开始出现错误。但是对于所有这些测试运行,我应该增加爬升周期(秒),还是所有测试都保持不变?图片如下: