Skip to content

fivezh/WebBench

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目说明

Webbench是C语言开发的网站压测工具,性能良好, 推荐作为经典项目进行源码阅读。 该项目通过对Webbench项目的源码分析,理解其多进程模拟请求的模型及编码规范与技巧。 主要通过以下方式阅读源码:

  • 通读代码,增加部分注释信息
  • 绘制程序流程图、函数调用关系图
  • 总结多进程模型等程序设计思想的优劣

完整的分析记录参见此文:WebBench源码阅读

five@master:~/github/openCode/WebBench$ ./webbench 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/
1 client, running 30 sec.

Speed=732 pages/min, 1211136 bytes/sec.
Requests: 366 susceed, 0 failed.

WebBench

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。

使用: sudo make clean

sudo make && make install

命令行选项:

 -f|--force               不需要等待服务器响应
   -r|--reload              发送重新加载请求
   -t|--time <sec>          运行多长时间,单位:秒"
-p|--proxy <server:port> 使用代理服务器来发送请求
   -c|--clients <n>         创建多少个客户端,默认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             显示版本号

About

压测工具WebBench源码分析

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 80.0%
  • Roff 13.9%
  • Makefile 6.1%