ab.exe压测详解

   ab.exe是一个性能检测工具,是apache server中的一个小组件,使用简单,方便

   使用方法:

        1、打开cmd
        2、进入ab.exe所在的路径(默认放在d盘根目录下)
        3、命令示例
               ab:   查看可用的命令(一般用的较多的命令就是 -n -c)
                ab -n 10 -c  10 http://www.cnblogs.com/      (一共请求10次, 10个并发同时请求
                ab -n 50 -c 5 0 -t 100 http://www.cnblogs.com/    ( 一共 请求50次, 50个并发 同时请求 ,超时时间设为100秒, 当出现timeout时,可以设置超时时间)
    命令执行结果:
    
 命令说明:
//在测试会话中所执行的请求个数。默认时,仅执行一个请求

-n requests     Number of requests to perform

//一次产生的请求个数。默认是一次一个。

-c concurrency Number of multiple requests to make

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

-t timelimit    Seconds to max. wait for responses

//包含了需要POST的数据的文件.

-p postfile     File containing data to POST

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

-T content-type Content-type header for POSTing

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

-v verbosity    How much troubleshooting info to print

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

-w              Print out results in HTML tables

// 执行HEAD请求,而不是GET。

-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 cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复。

-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 proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。

-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.

-g filename     Output collected data to gnuplot format file.

-e filename     Output CSV file with percentages served

-h              Display usage information (this message)

 
     返回信息说明
Server Hostname: www.google.com 
Server Port: 80 
Document Path: / 
Document Length: 230 bytes//文件长度 
Concurrency Level: 10 
/*整个测试持续的时间*/ 
Time taken for tests:0.456 seconds 
/*完成的请求数量*/ 
Complete requests: 10 
/*失败的请求数量*/ 
Failed requests: 0 
Write errors: 0 
Non-2xx responses: 10 
Keep-Alive requests: 10 
/*整个场景中的网络传输量*/ 
Total transferred: 6020 bytes 
/*整个场景中的HTML内容传输量*/ 
HTML transferred: 2300 bytes 
/*每秒请求数,后面括号中的 mean 表示这是一个平均值*/ 
Requests per second: 21.93 [#/sec] (mean) 
/*每次请求的响应时间 ,后面括号中的 mean 表示这是一个平均值*/ 
Time per request: 456.004 [ms] (mean) 
/*上面的总时间,下面*/ 

Time per request: 45.600 [ms] (mean, across all concurrent requests) 

/*平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题*/ 

Transfer rate: 1.55 [Kbytes/sec] received 

/*网络上消耗的时间的分解,各项数据的具体算法还不是很清楚*/ 

Connection Times (ms) 

min mean[+/-sd] median max 

Connect: 20 318 926.1 30 2954 

Processing: 40 2160 1462.0 3034 3154 

Waiting: 40 2160 1462.0 3034 3154 

Total: 60 2479 1276.4 3064 3184 

/*下面的内容为整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中 50% 的用户响应时间小于 3064 毫秒,60 % 的用户响应时间小于 3094 毫秒,最大的响应时间小于 3184 毫秒*/ 

Percentage of the requests served within a certain time (ms) 

50% 3064 

66% 3094 

75% 3124 

80% 3154 

90% 3184 

95% 3184 

98% 3184 

99% 3184 

100% 3184 (longest request)
 


### HTTP工具 `ab` 的使用方法及参数说明 #### 工具概述 `ab` 是 Apache 自带的一个非常好用的试工具,能够创建多个并发访问线程来模拟多个访问者同时对某一 URL 地址进行访问[^4]。 #### 安装方式 可以通过安装 `httpd-tools` 软件包来获取 `ab` 工具。具体操作如下: ```bash yum -y install httpd-tools ``` 确认安装成功可通过执行以下命令验证版本号: ```bash ab -V ``` 这将显示已安装的 `ab` 版本信息[^2]。 #### 参数详解 以下是常用的几个重要选项及其作用: - `-n requests`: 总共发送的请求数量。 - `-c concurrency`: 并发数,即同一时间有多少个请求被处理。 - `-t timelimit`: 试的最大持续时间,在此期间尽可能多地发出请求直到达到指定的时间长度。 - `-p POSTfile`: 发送POST数据文件的内容作为POST请求的数据体。 - `-T content-type`: 设置Content-Type头字段,默认为 "text/plain"。 - `-v verbosity`: 显示详细的输出级别,0表示静默模式,最高可达4级详细程度。 - `-w`: 输出HTML表格形式的结果报告。 - `-k`: 启用HTTP KeepAlive特性,允许单次TCP连接上完成多次HTTP事务交互。 - `-H custom-header`: 添加自定义头部信息到每一个HTTP请求中去。 例如,要向目标网站发起1000个请求并保持每秒最多5个并发连接,则可以这样调用: ```bash ab -n 1000 -c 5 http://example.com/ ``` 如果需要上传表单数据,还可以通过 `-p` 和 `-T` 来指明提交的数据格式以及具体的文件路径: ```bash ab -n 100 -c 10 -p post_data.txt -T application/x-www-form-urlencoded http://example.com/submit_form.php ``` 以上就是关于如何利用 `ab` 进行简单的HTTP服务端性能评估的一些指导[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值