zoukankan      html  css  js  c++  java
  • Webbench结果分析及原理

    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函数,在要求时间内发送请求报文,改函数可记录请求的成功次数、失败次数、以及服务器回复的字节数。

  • 相关阅读:
    Highcharts 环境配置
    Highcharts 配置语法
    tsql语句分析工具 转
    C#编码规范 转 http://www.cnblogs.com/wulinfeng/archive/2012/08/31/2664720.html
    改善C#程序,提高程序运行效率的50种方法
    效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】) 转
    配置handler vs2013 iis8.0
    14、正则表达式
    13、cookie
    11、事件(上)
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14986710.html
Copyright © 2011-2022 走看看