• 使用Apache ab进行压力测试(参数说明)


    我们一般会使用Apache自带的ab来对项目进行压力测试,看项目的执行情况如何.

    我们可以使用 ab -v 来查看ab的详细参数使用方法.

    1. [root@node234 bin]# ./ab -v  
    2. ab: option requires an argument -- v  
    3. ./ab: wrong number of arguments  
    4. Usage: ./ab [options] [http[s]://]hostname[:port]/path  
    5. Options are:  
    6.     -n requests     Number of requests to perform  
    7.     -c concurrency  Number of multiple requests to make  
    8.     -t timelimit    Seconds to max. wait for responses  
    9.     -b windowsize   Size of TCP send/receive buffer, in bytes  
    10.     -p postfile     File containing data to POST. Remember also to set -T  
    11.     -u putfile      File containing data to PUT. Remember also to set -T  
    12.     -T content-type Content-type header for POSTing, eg.  
    13.                     'application/x-www-form-urlencoded'  
    14.                     Default is 'text/plain'  
    15.     -v verbosity    How much troubleshooting info to print  
    16.     -w              Print out results in HTML tables  
    17.     -i              Use HEAD instead of GET  
    18.     -x attributes   String to insert as table attributes  
    19.     -y attributes   String to insert as tr attributes  
    20.     -z attributes   String to insert as td or th attributes  
    21.     -C attribute    Add cookie, eg. 'Apache=1234. (repeatable)  
    22.     -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'  
    23.                     Inserted after all normal header lines. (repeatable)  
    24.     -A attribute    Add Basic WWW Authentication, the attributes  
    25.                     are a colon separated username and password.  
    26.     -P attribute    Add Basic Proxy Authentication, the attributes  
    27.                     are a colon separated username and password.  
    28.     -X proxy:port   Proxyserver and port number to use  
    29.     -V              Print version number and exit  
    30.     -k              Use HTTP KeepAlive feature  
    31.     -d              Do not show percentiles served table.  
    32.     -S              Do not show confidence estimators and warnings.  
    33.     -g filename     Output collected data to gnuplot format file.  
    34.     -e filename     Output CSV file with percentages served  
    35.     -r              Don't exit on socket receive errors.  
    36.     -h              Display usage information (this message)  
    37.     -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)  
    38.     -f protocol     Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)  


    要进行压力测试可以执行以下命令,可以修改相应的参数:

    ab -n1000 -c10 http://e60.chenwd.xxx.com/carindex.php

    Apache常用参数说明:

    -n: 标识请求的总数.
    -c: 标识请求的总用户 (如果请求的总数是1000,请求的总用户是10,那么平均每个用户执行100次请求)
    -t: 请求的超时时间, 单位是秒.

    执行结果:

    1. [root@node234 bin]# ./ab -n1000 -c10 http://e60.chenwd.xxx/carindex.php  
    2. This is ApacheBench, Version 2.3 <$Revision: 655654 $>  
    3. Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/  
    4. Licensed to The Apache Software Foundation, http://www.apache.org/  
    5.    
    6. Benchmarking e60.chenwd.dev.eebaobao.com (be patient)  
    7. Completed 100 requests  
    8. Completed 200 requests  
    9. Completed 300 requests  
    10. Completed 400 requests  
    11. Completed 500 requests  
    12. Completed 600 requests  
    13. Completed 700 requests  
    14. Completed 800 requests  
    15. Completed 900 requests  
    16. Completed 1000 requests  
    17. Finished 1000 requests  
    18.    
    19. Server Software:        nginx/0.9.4  
    20. Server Hostname:        e60.xxx.com  
    21. Server Port:            80  
    22.    
    23. Document Path:          /carindex.php  
    24. Document Length:        5722 bytes  
    25.    
    26. Concurrency Level:      10  
    27. Time taken for tests:   19.445 seconds  
    28. Complete requests:      1000  
    29. Failed requests:        0  
    30. Write errors:           0  
    31. Total transferred:      5990000 bytes  
    32. HTML transferred:       5722000 bytes  
    33. Requests per second:    51.43 [#/sec] (mean)  
    34. Time per request:       194.446 [ms] (mean)  
    35. Time per request:       19.445 [ms] (mean, across all concurrent requests)  
    36. Transfer rate:          300.84 [Kbytes/sec] received  
    37.    
    38. Connection Times (ms)  
    39.               min  mean[+/-sd] median   max  
    40. Connect:       12   60  19.8     58     205  
    41. Processing:    47  133  32.9    126     298  
    42. Waiting:       22   75  27.8     68     219  
    43. Total:        112  193  36.8    183     374  
    44.    
    45. Percentage of the requests served within a certain time (ms)  
    46.   50%    183  
    47.   66%    195  
    48.   75%    204  
    49.   80%    214  
    50.   90%    249  
    51.   95%    270  
    52.   98%    293  
    53.   99%    304  
    54.  100%    374 (longest request)  


    执行结果说明:
    Server Software: 测试服务器的Web服务器软件名字
    Server Hostname: 请求的域名
    Server Port: 测试的访问端口
    Document Path: 请求URL的绝问文件路径
    Document Length: 表示HTTP相应的正文的长度
    Concurrency Level: 标识并发的用户数(-c属性来设置)
    Time taken for tests: 执行完所有的请求所花费的时间
    Complete requests: 表示测试的总请求数
    Failed requests: 失败的请求
    Total transferred: 表示所有请求的响应数据的总和,包含头信息和正文长度.
    HTML transferred: 表示所有请求中响应数据的正文长度 (不包含头信息的长度)
    Requests per second: 这个就是我们要的吞吐率,表示每秒处理的请求数
    Time per request: 表示每个用户平均等待的时间. 等于 Time taken for tests / (Complete requests / Concurrency Level)
    Time per request:(mean, across all concurrent requests) 服务器平均请求处理的时间. 正是吞详细地址的倒数,为:Time per request / Concurrency Level 每个请求花费了多少秒
    Transfer rate: 这些请求在单位内,从服务器获取的数据长度. 等于: Total transferred / Time taken for tests
    Percentage of the requests served within a certain time (ms): 这部分数据用于描述每个请求处理时间的分页情况,百分之五十不超过183毫秒,. 百分之九十不超过249毫秒,百分百不超过374毫秒.

  • 相关阅读:
    【解决方案】RTSP/Onvif安防可视化视频图像智能分析系统EasyNVR助力智慧公租房建设
    【解决方案】RTSP/Onvif网页无插件直播如何通过视频边缘计算网关+APP打造低成本场景视频监控
    文明旅游深入人心,如何通过视频监控系统进一步加强旅游景区管制?
    RTSP协议视频安防综合管理平台EasyNVR与海康萤石云平台运行机制差异对比说明
    视频结构化管理平台EasyNVR视频边缘计算网关和EasyNVR软件版本的异同对比
    视频安防智能监控系统管理平台EasyNVS为什么无法播放某套EasyNVR内通道的HLS视频流?
    RTSP视频安防智能监控系统EasyNVR配置完成后登录web页面不显示数据是什么问题?
    【解决方案】5G+视频智能分析打造工地智慧分析系统,提高建筑工地效率及安全
    视频智能安防监控系统EasyNVR是如何做到在平台内屏蔽部分菜单或者logo标识的?
    网页无插件智能安防直播平台EasyNVR中web页面以blob:http加载视频的探索
  • 原文地址:https://www.cnblogs.com/descusr/p/3532195.html
Copyright © 2020-2023  润新知