webbench

webbench 源码阅读注释笔记记录

旧城冷巷雨未停 提交于 2020-02-29 08:14:52
webbench 源码阅读笔记 webbench V 1.5 版本源码阅读注释笔记, 在原来源码的基础上进行中文注释, 提出自己的见解,记录笔记 ##流程 从 main 函数入口开始 解释命令行参数 初始化结构体,变量等 组织 HTTP 请求数据包, build_request() 进行 HTTP 请求, 执行benchcore(), 更改全局 speed, fail, bytes 变量, 每个子进程执行完就把信息写入管道 mypipe[1] 回到父进程, 循环读取管理的队列 mypipe[0], 组织要展示的全局信息 speed, fail, bytes 打印全局信息 ##架构 P:     main() | | ------------------------ | | | | | | A B C (指定3个客户端,生成3个子进程,进程执行 build_request()组织HTTP包, benchcore()进行HTTP请求,再回到主函数把请求的状态信息写入管道) | | | | | | 写入管道 写入管道 写入管道 ------------------------ | | 读取管道信息,呈现 ##程序算法特点 根据 client 的数值循环生成子进程, for处理子进程逻辑,执行HTTP请求后,回到主函数把写信写进管道, 再统一做管道信息读取呈现 细节方面就是要注意 进行

web性能压力测试工具:Webbench 源码分析

最后都变了- 提交于 2020-01-26 03:10:55
前言 Webbench是一个网站压力测试的工具。由Lionbridge公司开发,Webbech的标准测试可以向我们展示服务器的两项内容,分别为每秒钟请求数和每秒钟传输数据量。如果你不清数访问的网站能承受多大的压力,或者对比两个网站的性能可以,考虑使用Webbench或者http_load来测试。 源码下载 webbench源码一共包含两个源文件:socket.c和webbench.c 下载地址: http : / / home . tiscali . cz / ~ cz210552 / webbench . html 工作原理 1. 主函数进行参数命令行检查,并且进入bench开始压测。 2. bench函数使用fork模拟出多个客户端,调用socket并发请求,每个子进程记录自己的访问数据,并写入管道。 3. 父进程从管道读取子进程的输出信息。 4. 使用函数alarm进行时间控制,到时候后会发生SIGALRM信号,调用信号处理函数子进程停止。 Webbench原理图 源码分析 socket.c /* $Id: socket.c 1.1 1995/01/01 07:11:14 cthuang Exp $ * * This module has been modified by Radim Kolar for OS/2 emx */ /***********************

压测九种工具

最后都变了- 提交于 2020-01-25 03:43:32
一、http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。 还可以测试HTTPS类的网站请求。 下载地址:http_load-12mar2006.tar.gz 安装很简单 #tar zxvf http_load-12mar2006.tar.gz #cd http_load-12mar2006 #make && make install 基本用法: http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件 参数其实可以自由组合,参数之间的选择并没有什么限制。 比如你写成http_load -parallel 5 -seconds 300 urllist.txt也是可以的。 我们把参数给大家简单说明一下。 -parallel 简写-p :含义是并发的用户进程数。 -fetches 简写-f :含义是总计的访问次数 -rate 简写-p :含义是每秒的访问频率 -seconds 简写-s :含义是总计的访问时间 准备URL文件:urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好。 文件格式如下: 1、http://www.qixing318.com/ 2、http:/

几款Web服务器性能压力测试工具

北城余情 提交于 2020-01-01 09:02:52
一、http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以 测试 web服务器的吞吐量与负载。 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。 还可以测试HTTPS类的网站请求。 下载地址: http_load-12mar2006.tar.gz 安装很简单 #tar zxvf http_load-12mar2006.tar.gz #cd http_load-12mar2006 #make && make install 基本用法: http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件 参数其实可以自由组合,参数之间的选择并没有什么限制。 比如你写成http_load -parallel 5 -seconds 300 urllist.txt也是可以的。 我们把参数给大家简单说明一下。 -parallel 简写-p :含义是并发的用户进程数。 -fetches 简写-f :含义是总计的访问次数 -rate 简写-p :含义是每秒的访问频率 -seconds 简写-s :含义是总计的访问时间 准备URL文件:urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好。 文件格式如下: http://www.qixing318.com/ http:/

压力测试 webbench

醉酒当歌 提交于 2019-12-26 12:25:43
原文 webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小。 主要是 -t 参数用着比较爽,下面参考了张宴的文章:   1、适用系统:Linux   2、编译安装: [root@hexuweb102 ~]$wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz [root@hexuweb102 ~]$tar zxvf webbench-1.5.tar.gz [root@hexuweb102 ~]$cd webbench-1.5 [root@hexuweb102 ~]$make && make install   3、使用: [root@hexuweb102 webbench-1.5]$ webbench --help webbench [option]... URL -f|--force Don't wait for reply from server. -r|--reload Send reload request - Pragma: no-cache. -t|--time <sec> Run benchmark for <sec> seconds. Default 30. -p|--proxy <server

10万并发的高性能c++ webserver设计与实现

自古美人都是妖i 提交于 2019-12-23 02:16:51
简介 该项目使用c++11,参考muduo实现的静态web服务器。muduo网络库使用线程池+电平触发式epoll+NIO的Reactor模式实现。该项目汲取muduo的优点,并简化设计。采用线程池+边沿触发式epoll+NIO的Reactor模式实现,各个工作线程采用RR方式(Round Robin)来公平分配请求,同时引入了应用层心跳,来处理超时连接。该webserver支持长、短连接,采用被动式关闭,能优雅的断开连接。 该项目参考muduo网络库Tcp骨架,针对Http协议处理过程设计而成。主要引入了HttpServer、HttpConnection和HttpHandler和HttpManager几个类,已应对接受Http请求、解析Http请求、应答Http请求以及管控Http连接的需要。 采用压力测试工具webbench 1.5,实验得出:采用环回地址测试时,在10k长连接状态下,60s能处理1500w+个请求,响应能力为35 M/s。采用局域网地址测试时,在10k长连接状态下,60s能处理750w+个请求,响应能力为1.67 M/s。启动webserver时内存占用为1.8MB;10k长连接下,平均占用15MB内存。 为方便测试,该项目也加入了简易的资源监控脚本、内存泄露检测脚本、一键启动webserver脚本,以及压力测试脚本。 目录结构 ├── code │ ├──

Nginx压力测试工具之WebBench

人盡茶涼 提交于 2019-12-06 02:10:23
下载webbench软件和安装           [root@master ~]# tar -zxf webbench-1.5.tar.gz [root@master ~]# cd webbench-1.5[root@master webbench-1.5]# mkdir -pv /usr/local/man/man1 [root@master webbench-1.5]# make && make install [root@master webbench-1.5]# ./webbench -help webbench [option]... URL -f|--force Don't wait for reply from server. -r|--reload Send reload request - Pragma: no-cache. -t|--time <sec> Run benchmark for <sec> seconds. Default 30. -p|--proxy <server:port> Use proxy server for request. -c|--clients <n> Run <n> HTTP clients at once. Default one. -9|--http09 Use HTTP/0.9 style requests. -1|-

linux webbench测试高并发方法

拈花ヽ惹草 提交于 2019-12-04 17:19:21
linux webbench测试高并发方法 由于ab小工具 测试高并发 会出错 具体原因http://newmiracle.cn/?p=594 所以采用webbench这个来测试 <pre> wget http://www.ha97.com/code/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make make install </pre> make install的时候会提示目录不存在 cannot create regular file `/usr/local/man/man1': No such file or directory 所以到时候需要你去指定的路径/usr/local/创建文件夹即可 -c并发数 -t运行的时间(秒) 175740 pages/min 每秒钟响应的请求数 [root@iZ238qupob7Z webbench-1.5]# webbench -c 200 -t 5 url Webbench - Simple Web Benchmark 1.5 Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software. Benchmarking: GET url 200 clients, running 5 sec.

并发压力性能测试工具介绍

匿名 (未验证) 提交于 2019-12-02 23:47:01
linux安装 yum -y install httpd-tools windos 安装 // 下载Apache软件(ab软件不单独更新,而是独立集成到Apache) download https://de.apachehaus.com/downloads/httpd-2.4.39-o102s-x64-vc14.zip // 打开压缩包 unzip httpd-2.4.39-o102s-x64-vc14.zip // 将bin目录里面的ab.exe或者abs.exe复制出来放到系统环境变量路径下 常用案例 abs -c 200 -n 1000 http://www.baidu.com/index.html ab -c 200 -n 1000 http://www.baidu.com/index.html 参数内容 -n 即requests,用于指定压力测试总共的执行次数。 -c 即concurrency,用于指定的并发数。 -t 即timelimit,等待响应的最大时间(单位:秒)。 -b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。 -p 即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。 -u 即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。 -T 即content-type,用于设置Content

Ubuntu 16.04 LTS环境下安装Webbench应用(转自Linux公社)

匿名 (未验证) 提交于 2019-12-02 21:56:30
Ubuntu 16.04 LTS环境下安装Webbench应用 是什么 如何安装 怎么用 是什么 Webbench是知名的网站压力测试工具; Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况; webbench的标准测试可以向我们展示服务器的两项内容: 每秒钟相应请求数; 每秒钟传输数据量; webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进行测试的能力; webbench支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。 如何安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make # 出现 warning 忽略 sudo make install # 缺什么安装什么 怎么用 这里只介绍一种最简单的用法: # 对 http://192.168.0.25 上的 index.html 进行并发测试 # -c 500 表示 500 个并发数 # -t 60 表示测试时间是 60 秒 webbench -c 500 -t 60 http://192.168.0.25/index.html 测试结果: