【Apache】 ab进行压力测试
前言:
ab是apache自带的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab然后进行apache 负载压力测试。
工具:
Apache ab压测工具
一、安装
(1) 下载 : http://httpd.apache.org/
(2)解压
二、使用
(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: 8080Document Path: /test/eddie/order/123456
Document Length: 109 bytesConcurrency 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] receivedConnection 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 19878Percentage 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 页面哪里最低
(2)闪退?
{path}\Apache24\bin\ab.exe
答:只能使用 cmd 方式