使用ab进行页面的压力测试

简介:

ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab

 

1 我们可以模拟100个并发用户,对一个页面发送1000个请求

./ab -n1000 -c100 http://vm1.jianfeng.com/a.html

 

其中-n代表请求数,-c代表并发数

 

返回结果:

##首先是apache的版本信息 
This is ApacheBench, Version 2.3 <Revision:655654Revision:655654
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking vm1.jianfeng.com (be patient)


Server Software:        Apache/2.2.19    ##apache版本 
Server Hostname:        vm1.jianfeng.com   ##请求的机子 
Server Port:            80 ##请求端口

Document Path:          /a.html 
Document Length:        25 bytes  ##页面长度

Concurrency Level:      100  ##并发数 
Time taken for tests:   0.273 seconds  ##共使用了多少时间 
Complete requests:      1000   ##请求数 
Failed requests:        0   ##失败请求 
Write errors:           0   
Total transferred:      275000 bytes  ##总共传输字节数,包含http的头信息等 
HTML transferred:       25000 bytes  ##html字节数,实际的页面传递字节数 
Requests per second:    3661.60 [#/sec] (mean)  ##每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量 
Time per request:       27.310 [ms] (mean)  ##用户平均请求等待时间 
Time per request:       0.273 [ms] (mean, across all concurrent requests)  ##服务器平均处理时间,也就是服务器吞吐量的倒数 
Transfer rate:          983.34 [Kbytes/sec] received  ##每秒获取的数据长度

Connection Times (ms) 
              min  mean[+/-sd] median   max 
Connect:        0    1   2.3      0      16 
Processing:     6   25   3.2     25      32 
Waiting:        5   24   3.2     25      32 
Total:          6   25   4.0     25      48

Percentage of the requests served within a certain time (ms) 
  50%     25  ## 50%的请求在25ms内返回 
  66%     26  ## 60%的请求在26ms内返回 
  75%     26 
  80%     26 
  90%     27 
  95%     31 
  98%     38 
  99%     43 
100%     48 (longest request)

 

 

 

2 ab也可以运行在windows中,如果在windows下安装apache,就可以在bin下找到ab.exe

直接就可以使用,不用依赖其他的dll

下面是我使用ab.exe 测试新浪一个页面的结果:

 

C:\Users\nickyjf\Desktop\useful>ab -n1000 -c100 http://sports.sina.com.cn/k/2011-05-24/12095590365.shtml 
This is ApacheBench, Version 2.3 <Revision:655654Revision:655654
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking sports.sina.com.cn (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.0.63 
Server Hostname:        sports.sina.com.cn 
Server Port:            80

Document Path:          /k/2011-05-24/12095590365.shtml 
Document Length:        86680 bytes

Concurrency Level:      100 
Time taken for tests:   66.453 seconds 
Complete requests:      1000 
Failed requests:        0 
Write errors:           0 
Total transferred:      87135790 bytes 
HTML transferred:       86680000 bytes 
Requests per second:    15.05 [#/sec] (mean) 
Time per request:       6645.294 [ms] (mean) 
Time per request:       66.453 [ms] (mean, across all concurrent requests) 
Transfer rate:          1280.51 [Kbytes/sec] received

Connection Times (ms) 
              min  mean[+/-sd] median   max 
Connect:        1   56 398.3      2    3003 
Processing:    89 6331 2603.7   6293   14626 
Waiting:        2 1748 1485.9   1590    6284 
Total:         90 6388 2615.0   6302   14627

Percentage of the requests served within a certain time (ms) 
  50%   6302 
  66%   7121 
  75%   8435 
  80%   9193 
  90%   9231 
  95%   9385 
  98%  11549 
  99%  12459 
100%  14627 (longest request)

 

3 apache的ab工具也算是一种ddos攻击工具

目录
相关文章
|
存储 前端开发 JavaScript
ahooks 正式发布:值得拥抱的 React Hooks 工具库
ahook定位于一套基于 React Hooks 的工具库,核心围绕 React Hooks 的逻辑封装能力,降低代码复杂度和避免团队的重复建设为背景,共同建设和维护阿里经济体层面的 React Hooks 库。
21892 1
ahooks 正式发布:值得拥抱的 React Hooks 工具库
|
1月前
|
前端开发
利用React Hooks优化前端状态管理
本文将深入介绍如何利用React Hooks优化前端状态管理,包括Hooks的概念、使用方法以及与传统状态管理方式的对比分析,帮助前端开发人员更好地理解和应用这一现代化的状态管理方案。
|
数据可视化 开发工具 Android开发
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
228 0
【错误记录】Android Studio 向 GitHub 提交代码报错 ( Push failed: Failed with error: Could not read | 使用命令行提交代码 )
|
8月前
|
分布式计算 数据可视化 数据挖掘
Python数据分析可视化综合实例
Python数据分析可视化综合实例
176 0
|
JavaScript 前端开发 大数据
虚拟滚动是怎么做性能优化的?
虚拟滚动是怎么做性能优化的?
213 0
|
SQL JSON 自然语言处理
Seata-go 1.1.0 发布,补齐 AT 模式支持
Seata-go 1.1.0 版本补齐了 AT 模式下对 Multi Delete、Multi Update、Insert on Update 和 Select for Update 的支持。至此 Seata-go 的 AT 模式与 Seata AT 模式全面对齐。
Seata-go 1.1.0 发布,补齐 AT 模式支持
|
开发者
阿里巴巴95公益周 · 码上公益爱心极客招募
码上公益是阿里云工程师自发建立的国内首个技术志愿服务平台,在公益组织和技术开发者之间架起桥梁,将公益需求与技术能力对接,为公益组织的数字化发展提供技术支持。希望更多的爱心极客加入我们,让我们一起用技术的力量,做公益的侠客,给世界带来一点点温暖的改变。
1942 8
阿里巴巴95公益周 · 码上公益爱心极客招募
|
算法 C++
STL简章
STL简章
66 0
|
JSON 前端开发 JavaScript
jQuery中 ajax的使用
jQuery中 ajax的使用
pbootcms 提交留言取消验证码验证
pbootcms 提交留言取消验证码验证
219 0
pbootcms 提交留言取消验证码验证