【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:\Users\Eddie>E:

E:\>cd E:\Apache24\bin

E:\\Apache24\bin>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:\Apache24\bin>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}\Apache24\bin\ab.exe

 

答:只能使用 cmd 方式

作者:Eddie.Lee
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2018-05-13 22:27  Eddie.Lee  阅读(332)  评论(0编辑  收藏  举报