zoukankan      html  css  js  c++  java
  • 【Apache】 ab进行压力测试

    前言:

    ab是apache自带的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab然后进行apache 负载压力测试。

    工具:

    Apache ab压测工具

    一、安装

    (1) 下载 : http://httpd.apache.org/

    1KIX2_`I4F4)0813C7TNKL3

    4OVOF_{OGIQMFF6V8@{K7IS

    929]@}FM5]YZ[09I$LEBS[M

    (2)解压

    image

    image

    二、使用

    (1) 选择 ab 文件位置  bin 下

    Microsoft Windows [版本 10.0.16299.371]
    (c) 2017 Microsoft Corporation。保留所有权利。

    C:UsersEddie>E:

    E:>cd E:Apache24in

    E:\Apache24in>ab
    ab: wrong number of arguments
    Usage: ab [options] [http://]hostname[:port]/path
    Options are:
         -n requests     Number of requests to perform
         -c concurrency  Number of multiple requests to make at a time
         -t timelimit    Seconds to max. to spend on benchmarking
                         This implies -n 50000
         -s timeout      Seconds to max. wait for each response
                         Default is 30 seconds
         -b windowsize   Size of TCP send/receive buffer, in bytes
         -B address      Address to bind to when making outgoing connections
         -p postfile     File containing data to POST. Remember also to set -T
         -u putfile      File containing data to PUT. Remember also to set -T
         -T content-type Content-type header to use for POST/PUT data, eg.
                         'application/x-www-form-urlencoded'
                         Default is 'text/plain'
         -v verbosity    How much troubleshooting info to print
         -w              Print out results in HTML tables
         -i              Use HEAD instead of GET
         -x attributes   String to insert as table attributes
         -y attributes   String to insert as tr attributes
         -z attributes   String to insert as td or th attributes
         -C attribute    Add cookie, eg. 'Apache=1234'. (repeatable)
         -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                         Inserted after all normal header lines. (repeatable)
         -A attribute    Add Basic WWW Authentication, the attributes
                         are a colon separated username and password.
         -P attribute    Add Basic Proxy Authentication, the attributes
                         are a colon separated username and password.
         -X proxy:port   Proxyserver and port number to use
         -V              Print version number and exit
         -k              Use HTTP KeepAlive feature
         -d              Do not show percentiles served table.
         -S              Do not show confidence estimators and warnings.
         -q              Do not show progress when doing more than 150 requests
         -l              Accept variable document length (use this for dynamic pages)
         -g filename     Output collected data to gnuplot format file.
         -e filename     Output CSV file with percentages served
         -r              Don't exit on socket receive errors.
         -m method       Method name
         -h              Display usage information (this message)

    翻译

    格式: ./ab [options] [http://]hostname[:port]/path

    Ab命令参数注释:

      -n    #指定在测试会话中所执行的请求个数。默认时,仅执行一个请求。 

      -c    #指定一次产生的请求个数。默认是一次一个。

      -t    #测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。

      -p    #包含了需要POST的数据的文件.

      -T    #POST数据所使用的Content-type头信息。

      -v    #设置显示信息的详细程度 - 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。

      -w    #以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。

      -I    #执行HEAD请求,而不是GET。

    (2)压力测试

    E:Apache24in>ab -n 500 -c 100 http://127.0.0.1:8080/test/eddie/order/123456
    This is ApacheBench, Version 2.3 <$Revision: 1826891 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    Benchmarking 127.0.0.1 (be patient)
    Completed 100 requests
    Completed 200 requests
    Completed 300 requests
    Completed 400 requests
    Completed 500 requests
    Finished 500 requests


    Server Software:
    Server Hostname:        127.0.0.1
    Server Port:            8080

    Document Path:          /test/eddie/order/123456
    Document Length:        109 bytes

    Concurrency Level:      100
    Time taken for tests:   50.755 seconds
    Complete requests:      500
    Failed requests:        491
        (Connect: 0, Receive: 0, Length: 491, Exceptions: 0)
    Total transferred:      122392 bytes
    HTML transferred:       55392 bytes
    Requests per second:    9.85 [#/sec] (mean)
    Time per request:       10151.063 [ms] (mean)
    Time per request:       101.511 [ms] (mean, across all concurrent requests)
    Transfer rate:          2.35 [Kbytes/sec] received

    Connection Times (ms)
                   min  mean[+/-sd] median   max
    Connect:        0    1   0.5      1       3
    Processing:   154 9024 5635.0   8417   19876
    Waiting:      152 9023 5635.8   8416   19875
    Total:        155 9025 5635.1   8418   19878

    Percentage of the requests served within a certain time (ms)
       50%   8418
       66%  11432
       75%  13650
       80%  15025
       90%  17446
       95%  18675
       98%  19451
       99%  19675
      100%  19878 (longest request)

    三、提示

    (1) 需要安装 Microsoft Visual C++ xxxx Redistributable, 在下载 ab 页面哪里最低

    image

    (2)闪退?

    {path}Apache24inab.exe

    答:只能使用 cmd 方式

  • 相关阅读:
    es组合多个条件进行查询
    Sidecar模式:下一代微服务架构的关键
    排查python内存泄露中几个工具的使用
    Consul的反熵
    我的Linux操作系统的发行版是什么?版本号是什么?
    如何确定一台linux主机是Linux (i386/i686)还是Linux (x86_64)
    如何确定Isilon cluster的网卡类型是40GbE的还是10GbE的
    如何确定Isilon里的磁盘是多大的?
    用SSH登录远程的机器,在远程机器上执行本地机器上的脚本
    关于EOF的使用的好文章
  • 原文地址:https://www.cnblogs.com/EddieBlog/p/Apache.html
Copyright © 2011-2022 走看看