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

  • 相关阅读:
    服务注册中心之Eureka使用
    微服务之服务注册中心
    Idea热部署功能
    微服务Cloud整体聚合工程创建过程
    微服务架构理论&SpringCloud
    关于母函数
    HDU 1028(母函数)整数划分
    1021 FIBERNACI
    1019
    1014 巧妙的gcd 生成元
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14986710.html
Copyright © 2020-2023  润新知