一:简介:
Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码加起来不到600行。
http://home.tiscali.cz/~cz210552/webbench.html
二:流程:
核心函数主要有main, bench, benchcore。
main函数主要就是调用getopt_long解析命令行参数,比如子进程数,子进程存活时间,使用的HTTP版本(HTTP/0.9,HTTP/1.0或HTTP/1.1),使用的HTTP方法(GET、HEAD、OPTIONS),代理等。
然后通过build_request函数生成HTTP请求报文头,最后调用bench函数处理。
在bench函数中,首先建立一个到目标host的链接,如果无法建链,则直接退出。建链成功之后直接关闭,该过程主要试探目标是否可建链。
然后调用pipe函数建立一个管道,然后创建子进程。管道主要是父进程与子进程通信,每个子进程完成自己的任务之后,都会向管道中写入任务执行情况,比如成功次数、失败次数、收到的字节数。父进程收集所有