ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Webbench结果分析及原理

2021-07-08 16:32:58  阅读:167  来源: 互联网

标签:fork 请求 Webbench 结果 sec 进程 原理 100


1.结果

$ webbench -c 100 -t 10 http://baidu.com/

Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://baidu.com/
100 clients, running 10 sec.

Speed=55764 pages/min, 14706 bytes/sec.
Requests: 386 susceed, 8908 failed.
-c表示并发数,-t表示运行测试URL的时间(秒)
每秒钟响应请求数
:55764 pages/min,每秒钟传输数据量14706bytes/sec. 并发100运行10秒后产生的TCP连接数386个,已经显示有8908个连接failed了,说明超负荷了。

webbench.c中根据-c参数n,Run <n> HTTP clients at once. Default one.

马上运行n哥HTTP用户,也就是fork n个子进程,每个子进程分别调用benchcore在要求时间内循环发送请求报文。

1.1 影响结果的因素?如何提高?

 

 

2.实现原理

https://blog.csdn.net/weixin_38333555/article/details/81457817

Webbench实现的核心原理是:父

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

1.命令行解析,getopt()

2.构造http请求报文build_request

3.压力测试:bench函数

 每个fork的子进程都调用benchcore函数,在要求时间内发送请求报文,改函数可记录请求的成功次数、失败次数、以及服务器回复的字节数。

标签:fork,请求,Webbench,结果,sec,进程,原理,100
来源: https://www.cnblogs.com/BlueBlueSea/p/14986710.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有