如何使用apache ab
这篇文章运用简单易懂的例子给大家介绍如何使用apache ab ,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
ab介绍
ab是Apache HTTP server benchmarking tool的缩写,可以用以测试HTTP请求的服务器性能。其是通过命令行的不同参数从而提供简单易用的性能测试工具命令组合。
ab命令原理
Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx、lighthttp、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜。自己使用也须谨慎。否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失。
在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。远程对web服务器进行压力测试,往往效果不理想(因为网络延时过大或带宽不足)
安装就不多说了,只要安装了Apache就可以了,可以参考之前的文章
基本参数使用方法1
参数说明: -n 请求数量, -c 并发数量
ab -n1000 -c10 https://www.baidu.com/ 代表对百度首页请求1000次,并发10.
结果说明
版本信息说明
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/
进度说明
Benchmarking www.baidu.com (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requests
服务器信息
Server Software: BWS/1.1Server Hostname: www.baidu.comServer Port: 443SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128Document Path: /Document Length: 227 bytesConcurrency Level: 10Time taken for tests: 4.958 secondsComplete requests: 1000Failed requests: 0Write errors: 0Total transferred: 872000 bytesHTML transferred: 227000 bytes
服务器的吞吐量,每秒请求处理量
Requests per second: 201.68 [#/sec] (mean)
用户平均等待时间
Time per request: 49.584 [ms] (mean)
服务器端单个请求的处理时间
Time per request: 4.958 [ms] (mean, across all concurrent requests)
received 平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Transfer rate: 171.74 [Kbytes/sec] receivedConnection Times (ms)min mean[+/-sd] median maxConnect: 27 36 39.0 34 1246Processing: 10 13 1.9 13 33Waiting: 10 13 1.9 13 33Total: 38 49 39.1 47 1258
整个场景中所有请求的响应情况。
Percentage of the requests served within a certain time (ms)50% 4766% 4975% 5080% 5190% 5395% 5698% 5899% 62100% 1258 (longest request)
使用总结
a.ab判断成功与否只是判断2xx的响应结果
b.只适合于简单的某个接口或者页面的压测
c.ab也可以填写参数进行压力测试。
关于如何使用apache ab 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。