2019独角兽企业重金招聘Python工程师标准>>>

环境:WAMP(windows+apache+mysql+php)

ab路径:E:\apache\bin\ab.exe

操作:1.win+r 打开命令行程序

2.输入E:\apache\bin\ab.exe  -n 1000 -c 200 http://localhost/aaa/index.php

-n后面的1000代表总共发出1000个请求;-c后面的200表示采用200个并发(模拟200个人同时访问),后面的网址表示测试的目标URL

ApacheBench命令原理:

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

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

ApacheBench参数说明

格式:ab [options] [http://]hostname[:port]/path
参数说明:

-n requests Number of requests to perform
//在测试会话中所执行的请求个数(本次测试总共要访问页面的次数)。默认时,仅执行一个请求。
-c concurrency Number of multiple requests to make
//一次产生的请求个数(并发数)。默认是一次一个。
-t timelimit Seconds to max. wait for responses
//测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p postfile File containing data to POST
//包含了需要POST的数据的文件,文件格式如“p1=1&p2=2”.使用方法是 -p 111.txt 。 (配合-T)
-T content-type Content-type header for POSTing
//POST数据所使用的Content-type头信息,如 -T “application/x-www-form-urlencoded” 。 (配合-p)
-v verbosity How much troubleshooting info to print
//设置显示信息的详细程度 – 4或更大值会显示头信息, 3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。 -V 显示版本号并退出。
-w Print out results in HTML tables
//以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i Use HEAD instead of GET
// 执行HEAD请求,而不是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 attribute Add cookie, eg. -C “c1=1234,c2=2,c3=3” (repeatable)
//-C cookie-name=value 对请求附加一个Cookie:行。 其典型形式是name=value的一个参数对。此参数可以重复,用逗号分割。
提示:可以借助session实现原理传递 JSESSIONID参数, 实现保持会话的功能,如
-C ” c1=1234,c2=2,c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8″ 。
-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 attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
//-P proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-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)
//-attributes 设置属性的字符串. 缺陷程序中有各种静态声明的固定长度的缓冲区。另外,对命令行参数、服务器的响应头和其他外部输入的解析也很简单,这可能会有不良后果。它没有完整地实现 HTTP/1.x; 仅接受某些’预想’的响应格式。 strstr(3)的频繁使用可能会带来性能问题,即你可能是在测试ab而不是服务器的性能。

贴一个结果分析:

This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 192.168.80.157 (be patient)
Completed 400 requests
Completed 800 requests
Completed 1200 requests
Completed 1600 requests
Completed 2000 requests
Completed 2400 requests
Completed 2800 requests
Completed 3200 requests
Completed 3600 requests
Completed 4000 requests
Finished 4000 requestsServer Software: Apache/2.2.15
Server Hostname: 192.168.80.157
Server Port: 80Document Path: /phpinfo.php
#测试的页面
Document Length: 50797 bytes
#页面大小Concurrency Level: 1000
#测试的并发数
Time taken for tests: 11.846 seconds
#整个测试持续的时间
Complete requests: 4000
#完成的请求数量
Failed requests: 0
#失败的请求数量
Write errors: 0
Total transferred: 204586997 bytes
#整个过程中的网络传输量
HTML transferred: 203479961 bytes
#整个过程中的HTML内容传输量
Requests per second: 337.67 [#/sec] (mean)
#最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值
Time per request: 2961.449 [ms] (mean)
#最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
Time per request: 2.961 [ms] (mean, across all concurrent requests)
#每个连接请求实际运行时间的平均值
Transfer rate: 16866.07 [Kbytes/sec] received
#平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 483 1773.5 11 9052
Processing: 2 556 1459.1 255 11763
Waiting: 1 515 1459.8 220 11756
Total: 139 1039 2296.6 275 11843
#网络上消耗的时间的分解,各项数据的具体算法还不是很清楚Percentage of the requests served within a certain time (ms)
50% 275
66% 298
75% 328
80% 373
90% 3260
95% 9075
98% 9267
99% 11713
100% 11843 (longest request)

转载于:https://my.oschina.net/u/2544569/blog/917328

使用ab(apachebench)进行压力测试相关推荐

  1. 如何使用ab做接口压力测试

    一.什么是压力测试 压力测试是通过不断向被测系统施加"压力",测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在,也就是我们可以模拟巨 ...

  2. Apache ab并发负载压力测试

    ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力.  ab命令对发出负载的计算机要求很低,既不会占用 ...

  3. ab并发负载压力测试

    一.ab 0.安装ab压力测试软件 [root@a2 conf]# yum install httpd-tools -y#查看版本 [root@a2 conf]# ab -V This is Apac ...

  4. 使用Apache的ab工具进行压力测试

    Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境,ab工具位于D:\wamp\bin\apache\Apache2.2.21\bin)非常容易使用,ab可以直接在Web服务器本地发起 ...

  5. php压力测试ab.exe,apache ab工具页面压力测试返回结果含义解释

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户,对一个页面发送1000个请求 其中-n代表请求数 ...

  6. php 使用apache中的ab进行页面压力测试

    ab是apache中自带的一个很好的页面压力测试工具,在apache完成安装之后,在安装目录下的bin文件中,可找到ab. 下面我来讲解一下ab的使用方法: 1:首先运用cmd打开DOS命令: 2:运 ...

  7. Apache服务器下使用 ab 命令进行压力测试

    ab是Apache超文本传输协议(HTTP)的性能测试工具. 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求. #ab -v可以看出其基本信息 ...

  8. apachebench ab.exe压力测试

    今天使用ab.exe做压力测试,由于页面只接收POST数据,遂上网找了相关资料,GET的一堆,POST的了了无几,而且都是抄来抄去,下面给出正确的POST请求参数信息 ab版本:2.3 E:\> ...

  9. ab和jmeter进行GET/POST压力测试的使用心得和比较(转载,在ubuntu16.04下使用ab带json对centos7压力测试验证可用)

    引言: 互联网服务压测是非常重要的评价方法,ab,webbench,jmeter等都是业界流行的测试工具,ab和webbench作为shell模式下轻量级的测试工具,jmeter则作为有GUI界面的更 ...

最新文章

  1. android 动态 修改图标,android-动态更改ActionBar中的图标
  2. Android 操作串口 (android serial port api)
  3. 利用XML实现通用WEB报表打印(转载)
  4. navigationbar
  5. Codeforces - 961E Tufurama
  6. android 获取应用的资源id和uri
  7. 有个程序媛女朋友是一种什么样的感觉?
  8. Cron 触发器及相关内容 (第二部分)
  9. mask属性是css3的吗_CSS滤镜之Mask属性
  10. 洋葱细胞数字全息显微实验演示
  11. 《与孩子一起学编程》书评
  12. 小秘书的福音——使用Word VBA打造自动排版工具
  13. Android 10.0 去掉开机正在优化应用Dialog
  14. android x86 兼容问题,X86如何解决Android应用兼容性问题
  15. php电子病历毕业设计,基于区块链的电子病历系统设计与实现(自制毕设)
  16. vivos9桌面字体样式怎样修改
  17. 中国App增长联盟,和优秀的创始人玩着办大事!
  18. 移动开发技术第一次大作业
  19. P20到P23js知识点
  20. 淘淘商城第44讲——搭建搜索系统工程

热门文章

  1. PHP从远程mysql下载文件_PHP下载远程文件到指定目录
  2. 计算机科学与技术年会,2017年全国理论计算机科学学术年会在武汉召开
  3. java错误: 非法字符: '\ufeff' 需要class, interface或enum
  4. 人们通常先在线性表尾部临时添加一个_数据结构学习笔记-线性表
  5. matlab中的转义字符使用和说明
  6. GPS模块输出的NMEA数据ddmm.mmmm转换成dd.ddddd,在google Earth Pro中描点
  7. 计算机病毒按破坏性分为哪两类,计算机导论复习要点.doc
  8. layui分页limit不显示_小心避坑:MySQL分页时使用 limit+order by 会出现数据重复问题...
  9. 数据挖掘算法_数据挖掘算法入门
  10. python对逻辑回归进行显著性_python sklearn库实现简单逻辑回归的实例代码