前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >轻量级压力测试工具 - AB

轻量级压力测试工具 - AB

作者头像
dys
发布2018-04-02 15:54:23
1.6K0
发布2018-04-02 15:54:23
举报
文章被收录于专栏:性能与架构性能与架构

ab是什么

ab是Apache附带的一个压力测试工具,它非常容易使用

ab不像LoadRnner、Jmeter等那么专业,但它足够轻便,只需一条命令,就可以了解到web服务器处理请求的一些基本信息

ab能做什么

可以使用ab来模拟N个用户发送N个请求,结果数据可以告诉我们:

处理这些请求需要多少时间?

每秒可以处理多少个请求?

平均响应时间是多少?

每秒网络传输量是多少?

......

通过调整N的大小,来查看服务器的不同反应,了解到服务器的承受能力大概是什么程度

在系统优化前后来执行ab测试一下,查看优化效果如何

在执行测试的同时,也可以观察下服务器的资源使用状况,例如使用top命令,看下CPU及内存的状态

如何使用

ab是Apache的一个小工具,安装了Apache的话就可以直接使用,如果没装Apache,也可以单独安装ab

(1) 使用示例

ab -n1000 -c10 http://www.xxx.com

-n 指定了请求总数

-c 指定了并发用户数

后面的url就是要测试的地址

这3个参数是最常用的,ab还有一些其他常用的参数:

-t 等待服务器响应的最大时间,单位秒

-k 使用Keep-Alive特性

-c 对请求附加一个cookie,形式:name=value

(2) 查看结果

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking localhost (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software:        Apache/2.2.21
Server Hostname:        localhost
Server Port:            80
Document Path:          /index.php
Document Length:        211 bytes
Concurrency Level:      10
Time taken for tests:   0.496 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Non-2xx responses:      1000
Total transferred:      400000 bytes
HTML transferred:       211000 bytes
Requests per second:    2015.93 [#/sec] (mean)
Time per request:       4.960 [ms] (mean)
Time per request:       0.496 [ms] (mean, across all concurrent requests)
Transfer rate:          787.47 [Kbytes/sec] received
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.4      0       1
Processing:     2    5   1.1      4      12
Waiting:        2    4   1.1      4      12
Total:          2    5   1.1      5      12
Percentage of the requests served within a certain time (ms)
  50%      5
  66%      5
  75%      5
  80%      6
  90%      6
  95%      7
  98%      8
  99%      9
 100%     12 (longest request)

结果中包含了不少内容,其中重要的指标包括:

Requests per second

平均每秒可以处理的请求数,就是常说的吞吐率

Time per request

平均请求响应时间

Transfer rate

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

Time taken for tests

执行这些测试请求花费的时间

Failed requests

没有被正常处理的请求数,服务器压力过大时,这个数字会增加

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档