Webbench学习

原创 2018年04月16日 16:34:56

开源代码学习

标签(空格分隔): linux 开源


无聊至极,学习一下一些简单的开源项目

Webbench

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

命令行参数解析

要看懂代码,最好先学习下getopt_long等函数的用法,他是c语言中用来解析命令行参数
分析一个很全的学习博客1博客2
使用 getopt_long_only 时, - 和 –都可以作用于长选项, 而使用 getopt_only 时, 只有 –可以作用于长选项.
短选项:就是只是一个字符串如-a -v,只用-表示
长选项:一般如--help --version,在getopt_long_only中-name也是

const char * optstring optstring用来指定可以处理哪些选项
"hvx:"该示例表明程序可以接受3个选项: -h -v -x, 其中 x 后面的 :表示该选项后面要跟一个参数, 即如 -x 10的形式, 选项后面跟的参数会被保存到 optarg 变量中. 下面是一个使用示例
extern int optind 下一次调用getopt的时,从optind存储的位置处重新开始检查选项。

字符串处理函数

strrchr() 函数用于查找某字符在字符串中最后一次出现的位置,其原型为:
char * strrchr(const char *str, int c);

atoi (表示ascii to integer)是把字符串转换成整型数的一个函数

strncasecmp()用来比较参数s1 和s2 字符串前n个字符,比较时会自动忽略大小写的差异

strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL
strchr是计算机的一个函数,原型为extern char *strchr(const char *s,char c),可以查找字符串s中首次出现字符c的位置

函数char * index(const char *s, int c);函数说明index()用来找出参数s 字符串中第一个出现的参数c 地址

fork讲解

fork讲解
这个代码总共执行多少次?

#include <stdio.h>
int main(int argc, char* argv[])
{
   fork();
   fork() && fork() || fork();
   fork();
   printf("+/n");
}

20! fork返回值只有0,1
所以最终结果就是0/1***0/1,所以只需要分析中间3个合理组合,只有5个符合条件,所以5×4=20

源代码分析

这里有别人源代码分析

版权声明:欢迎转载,转载时请注明出处 https://blog.csdn.net/xfzero/article/details/79962543

如何高效的学习和工作(撸码)

-
  • 1970年01月01日 08:00

webbench进行web服务器压力测试思路

大家都知道webbench可以对web服务器进行压力测试,但是
  • yanggd1987
  • yanggd1987
  • 2014-10-17 17:21:48
  • 2389

webbench-安装

wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd w...
  • caoyaobin
  • caoyaobin
  • 2015-03-08 22:46:55
  • 184

用Webbench进行网站压力测试

这几天一直在做web service想找个工具测试下并发请求处理能力,开始找到了web-ct,windows客户端的,但是安装后用起来很不好,而且免费版最多能测试并发40个,最长10s 这基本上测试...
  • jk110333
  • jk110333
  • 2013-06-27 18:08:35
  • 41995

网站压力测试工具webbench 安装与使用

转载自:点击打开链接 webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好用,安装使用也特别方便,并且非常小。 主要是 -t 参数用着...
  • wjciayf
  • wjciayf
  • 2016-09-03 09:41:48
  • 748

Cygwin-Easy & webbench

long long ago~~~~~之前一直使用MINGW+MSYS,今天在编译webbench-1.5(Linux下的http压力测试工具,可指定对一个网站的同时并发数量和持续时间)时发现MINGW...
  • nivana999
  • nivana999
  • 2010-05-29 12:24:00
  • 2675

windows下安装logstash

1.下载软件 Logstash: https://download.elastic.co/logstash/logstash/logstash-2.3.4.zip 2.下载JDK ...
  • wang_quan_li
  • wang_quan_li
  • 2016-09-19 13:51:40
  • 975

Webbench源代码分析

Web Bench是一个网站压力测试的工具。其最后更新时间是2004年,已经十年多了。其源代码总共才500多行,全部使用C语言编写,最多可以模拟上万个并发连接。 其原理也比较简单,源代码值得一读。...
  • KangRoger
  • KangRoger
  • 2015-01-07 20:57:45
  • 11239

Libevnt 在Windows10 VS2015下分别编译32位和64位库

http://www.cnblogs.com/langzou/p/5987763.html Libevnt 在Windows10 VS2015下分别编译32位和64位库 直接上王道 libe...
  • tropicofcancer9
  • tropicofcancer9
  • 2017-10-26 20:08:31
  • 224

macports&webbench

macports类似于linux yum,在线安装一些工具比较方便。 http://www.macports.org,下载相应系统版本,安装完成。 编辑系统环境配制文件 vi /etc/profile...
  • x_focus
  • x_focus
  • 2015-04-03 02:06:41
  • 457
收藏助手
不良信息举报
您举报文章:Webbench学习
举报原因:
原因补充:

(最多只允许输入30个字)