Webbench阅读

Webench是一个轻量级的网站压力测试工具,通过fork子进程实现并发测试。文章探讨了其工作原理,包括父进程如何创建子进程,子进程如何通过循环访问目标web,以及父子进程间的通信。作者指出并发数受限于主机性能和内存,测试结果显示其机器性能有限。文中还分享了代码注释和测试用例,并提供了百度云链接供下载。
摘要由CSDN通过智能技术生成

简介

Webench是一款轻量级的网站测压工具,并发是通过fork子进程来实现的,测试结果也受自身网速、以及自身主机的性能与内存的限制,性能好、内存大的主机可以模拟的并发就明显要多。
找了几台机器看了一下cat /proc/sys/kernel/pid_max,值有32768、65536、4194304。
理论上可以模拟的并发和最大进程数有关,但是现实搞这么多明显很困难。
可传入的参数有:
在这里插入图片描述
测试使用一下./webbench -c 100 -t 10 http://www.baidu.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到我的机器性能不太行,不能fork太多的进程。

代码比较简单,我加了点注释,链接放在最后了。

流程

Webbench实现的主要流程很简单,如果学过linux c的应该很容易看懂:

  1. 父进程fork若干个子进程
  2. 每个子进程对目标web循环发出实际访问请求
  3. 父子进程通过管道进行通信
    • 子进程通过管道写端向父进程传递在若干次请求访问完毕后记录到的总信息
    • 父进程通过管道读端读取子进程发来的相关信息
  4. 子进程在时间到后结束
  5. 父进程在所有子进程退出后统计并给用户显示最后的测试结果

百度云链接

链接:https://pan.baidu.com/s/1vYJkXiNttoFaWSfCh_Ke_w
提取码:et1b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值