转载自  https://segmentfault.com/a/1190000012765485

1.介绍

网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。

性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。

ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等。

2.ab的原理

ab是apachebench命令的缩写。

ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。

ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

3.ab的安装

ab的安装非常简单,如果是源码安装apache的话,那就更简单了。apache安装完毕后ab命令存放在apache安装目录的bin目录下。如下:

/usr/local/apache2/bin

可在apache官网下载安装包,也可以访问我提取好的链接下载http://pan.baidu.com/s/1eRVqgBC

4.使用

将ab.exe 放入c盘根目录,菜单输入cmd进入doc窗口,执行

ab.exe -c 100 -n 1000 http://127.0.0.1/app/login

下面我们对这些参数,进行相关说明。如下:

  1. -n 在测试会话中所执行的请求个数。默认时,仅执行一个请求。
  2. -c 一次产生的请求个数。默认是一次一个。

C:\>ab.exe -c 100 -n 1000 http://127.0.0.1/app/login
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 127.0.0.1 (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 requestsServer Software:        Apache-Coyote/1.1   #apache版本
Server Hostname:        127.0.0.1           #请求访问的IP
Server Port:            80                  #请求访问的端口Document Path:          /app/login          #页面地址
Document Length:        65 bytes            #页面长度Concurrency Level:      100                 #并发数
Time taken for tests:   0.899 seconds       #共使用时间
Complete requests:      1000                #总的请求数
Failed requests:        0                   #请求失败数
Write errors:           0
Total transferred:      206000 bytes        #总共传输字节数,包含http的头信息等
HTML transferred:       65000 bytes         #html字节数,实际的页面传递字节数
Requests per second:    1112.28 [#/sec] (mean)  #每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量
Time per request:       89.905 [ms] (mean)  #用户平均请求等待时间
Time per request:       0.899 [ms] (mean, across all concurrent requests)#服务器平均处理时间,也就是服务器吞吐量的倒数
Transfer rate:          223.76 [Kbytes/sec] received #每秒获取的数据长度 Connection Times (ms)min  mean[+/-sd] median   max
Connect:        0    0   0.3      0       5
Processing:     1   88 210.6      4     894
Waiting:        1   53 146.4      4     654
Total:          1   88 210.7      4     896Percentage of the requests served within a certain time (ms)50%      4 # 50%的请求在4ms内返回  66%      675%     1180%     27 # 80%的请求在27ms内返回  90%    45995%    61498%    87999%    887100%    896 (longest request)

5.Linux安装

yum install httpd-tools
ab -v

apache ab压力测试学习相关推荐

  1. apache ab压力测试报错apr_socket_recv

    apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104)) apache 自带的ab工具测试,当并发量达到1000多的时候报错如下 ...

  2. Apache AB 压力测试

    2019独角兽企业重金招聘Python工程师标准>>> Apache AB 压力测试  安装 // 安装工具 yum install httpd-tools 使用 // URL 是网 ...

  3. Apache ab压力测试工具

    查看apache是否安装 # rpm -qa httpd httpd-2.2.3-63.el5.centos (在apache 版本2以后,apache全部改名为httpd) ab压力测试工具是apa ...

  4. Apache ab压力测试说明

    转自: http://leepiao.blog.163.com/blog/static/485031302010234352282/ 压力测试是一种基本的质量保证行为,它是每个重要软件测试工 作的一部 ...

  5. apache ab压力测试工具-批量压测脚本

    概述 ab(Apache benchmark)是一款常用的压力测试工具.简单易用,ab的命令行一次只能支持一次测试.如果想要批量执行不同的测试方式,并自动对指标进行分析,那么单靠手工一条一条命令运行a ...

  6. 【Apache】Apache ab压力测试工具Window下载和用法详解

    ab是apache自带的网站压力测试工具.  使用起来非常的简单和方便.  不仅仅是可以apache服务器进行网站访问压力测试,还可以对其他类型的服务器进行压力测试.  比如nginx,tomcat, ...

  7. Apache ab 压力测试工具

    Apache Bin目录下的 ab.exe(ApacheBench) 程序是专门用在做压力测试用的软件. ApacheBench(ab) 用来测试 apache 执行效率,专门用来执行网站服务器的运行 ...

  8. apache ab压力测试报错

    今天用apache 自带的ab工具测试,当并发量达到1000多的时候报错如下: [root@aa~]# This is ApacheBench, Version 2.3 <Revision:65 ...

  9. apache ab压力测试

    2019独角兽企业重金招聘Python工程师标准>>> ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对摸一个URL地址进行访问.它的测试目标是基于URL的,因此它既 ...

最新文章

  1. mac下的intellij idea常用快捷键
  2. livechart 只显示 y 值_基于Python语言的SEGY格式地震数据读取与显示编程
  3. linux out of memory分析(OOM)
  4. Linux 虚拟化网络技术 — 虚拟二层网卡(Tap)与虚拟三层隧道网卡(Tun)
  5. web开发过程中经常用到的一些公共方法及操作
  6. Java学习笔记十(注解)
  7. 远程连接linux服务器mysql
  8. 把dataframe删掉第一行_python – 从Pandas DataFrame中的所有行中减去第一行
  9. epoll内存计算方法:4G内存服务器epoll并发量最大能达到多少?
  10. C语言程序设计第二次作业1
  11. html右边距无法调整,**css+html为什么右侧菜单的字体大小和边距设置在失效?谁能看下*...
  12. 猥琐思路复现Spring WebFlow远程代码执行
  13. android windows的一些item属性
  14. iOS学习笔记(1)— UIView 渲染和内容管理
  15. 【WCF--初入江湖】12 WCF与Ajax编程
  16. 数据迁移 java_数据迁移的成功策略
  17. cada0图纸框_求标准CAD图纸(A0、A1、A2、A3、A4)图框(外框、内框)、标题栏及明细栏大小样式字体是多大?...
  18. EditText属性输入框Kotlin.Android
  19. 什么是即时通讯系统?
  20. java用switch判断日期_Java-用switch判断季节

热门文章

  1. 线程池原理及创建(C++实现)
  2. 替换系统wsock32.dll,实现封包拦截
  3. c++ template(9)trait和Policy
  4. leetcode-136. 只出现一次的数字解法
  5. 深入理解Linux内核之主调度器
  6. 面试官:Thread.sleep(0) 有什么用?
  7. 压箱底总结:流系统端到端一致性对比
  8. 设计模式:各个模式间的对比
  9. 实现 LRU 缓存机制
  10. 视频编解码器 2020-比赛开始!