如何通过Apache Bench实现web压力测试

一、Apache Bench简介

  ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。

二、Apache Bench安装

  首先需要安装Apache服务器,下载地址:https://www.apachelounge.com/download/,64位操作系统选上面一个压缩包。

安装

Ubuntu

  1: 使用apt在线安装:sudo apt install apache2-utils

  2: 检查安装是否成功:ab -V

使用常用参数说明

测试报告解读

例子

  (1) 模拟1个客户端请求100次:

    ab -n 100 http://www.example.com/

  (2) 模拟100个客户端请求10000次:

    ab -n 10000 -c 100 http://www.example.com/

  (3) 调用POST方法的接口10次,传输的数据格式为JSON:

    ab -n 10 -p json-file http://www.example.com/

  (4) 调用OPTIONS方法的接口10次:

    ab -n 10 -m OPTIONS http://www.example.com/

  (5) 输出每次请求的返回信息:

    ab -n 10 -v 2 http://www.example.com/

注意事项

  • 使用-H Content-Type 不能代替-T Content-Type指定Content-Type 头部
  • 如果提示ab: invalid URL,可能是URL最右边缺少/,例如http://www.example.com需要改为http://www.example.com/。
  • 需要注意如果压测的HTTP接口是通过返回结果判断是否成功(只要能响应都会返回200状态码),则需要自行去想办法识别失败的请求。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux下Web网站压力测试工具Webbench使用教程

    Webbench是一个非常简单的压力测试工具,Webbench最多可以模拟3万个并发连接去测试网站的负载能力. (1)Webbench安装 复制代码 代码如下: wget http://www.jb51.net/soft/linux/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make make install (2)Webbench使用 复制代码 代码如下: webbench -c 1000 -t 60 ht

  • Web性能压力测试工具Siege使用教程

    Siege是一个多线程http负载测试和基准测试工具.通过使用Siege 提供的功能,可以很容易的制定测试计划:包括规定使用并发用户数.重复数量,从而可以模拟在服务器.网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能. 官方下载地址:http://www.joedog.org/pub/siege/ Siege安装: #wget http://www.joedog.org/pub/siege/siege-latest.tar.gz #tar -xzvf siege-l

  • Web压力测试工具:http_load、webbench、ab、Siege使用方法

    前言:常在网络飘,哪有不挨刀?做网站的站长说不准哪天得罪了XX人,二话不说直接操着DDOS就上来搞你了,黑不了你,哥就D死你,遇到这样的无赖,还真没办法,因此经常性的给自己的网站做做压力测试,看看服务器的承载能力是很有必要的一件事. 一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般不会把客户机搞死.还可以测试HTTPS类的网站请求. 下载地址:h

  • web压力测试工具_动力节点Java 学院整理

    0. Grinder –  Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利. 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理.根据项目网站的说法,Grinder的 主要目标用户是"理解他们所测代码的人--Grinder不仅仅是带有一组相关响应时间的'黑盒'测试.由于测试过程可以进行编码--而不是简单地脚本 化,所以程序员能测试应用中内部的各个层次,而不仅仅是通过用户界面测试响应时间. 1. Pylot -Pylot 是

  • Linux下Web性能压力测试工具http_load使用教程

    http_load介绍: http_load基于linux平台的一种性能测工具.以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能. 下载及安装: wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz tar xzvf http_load-12mar2006.tar.gz cd http_load-12mar2006/ make && make install http_lo

  • python实现websocket的客户端压力测试

    使用python进行websocket的客户端压力测试,这个代码是从github上 找到.然后简单修改了下.大神运用了进程池,以及线程池的内容.所以保存下来,学习学习 然后需要说明的是:本次用的python2.7,也尝试用python3.6,但是老实出现websocket-client包和python3不能兼容的情况,提示没有相关的方法.所以不得已最后又采用了python2 # -*- coding:utf-8 -*- # __author__ == 'chenmingle' import we

  • 14款好用开源的Web应用压力负载,性能测试工具推荐

    JMeter JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现. Grinder Grinder是一个负载测试框架,通过Jython来编写测试脚本,基于HTTP的测试可以由浏览器来记录整个要测试的过程. 关键特性: 泛型测试方法 灵活的测试脚本编写 分布式框架 成熟的HTTP支持 Multi-Mechanize Multi-Mechanize 是一个开源的Web性能和负载测试框架,可让你并发运行多个 Python 脚本来对网站或者Web服务进行压

  • Apache的压力测试以及web性能优化的常用知识总结

    什么是带宽? 误解:"数据在线路中的移动速度"."数据的传输速度" 我们所说的带宽是指数据的发送速度,比如百兆网卡,指网卡的最大发送速度是100Mbps,也就是说网卡在一秒钟最多可以发送100Mb的数据:相关的因素: 数据发送装置将二进制信号传送到线路的能力,也称信号传输频率,以及另一端数据接收装置对二进制信号接收的能力,也包括线路对传输频率的支持程度: 数据传输介质的并行度,等价于计算机系统总线宽度的概念: 习惯与约定 b:比特单位 bit: B:字节单位 Byt

  • 如何通过Apache Bench实现web压力测试

    一.Apache Bench简介 ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab.ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力.总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控. 二.Apache Bench安装 首先需要安装Apache服务器,下载地址:https://www.apa

  • Apache ab并发负载压力测试实现方法

    ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜.自己使用也须谨慎.否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失. 在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测

  • apache ab工具页面压力测试返回结果含义解释

    ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户,对一个页面发送1000个请求 输入命令:ab -n1000 -c100 http://www.jb51.net/ 其中-n代表请求数,-c代表并发数 返回结果: ##首先是apache的版本信息 This is ApacheBench, Version 2.3 <Revision:655654> Copyright 1996 Adam Twis

  • Apache自带的ab压力测试工具的实现

    目录 Apache Bench 简介 ab的原理 ab的安装 参数介绍 ab测试案例 示例2 Apache Bench 简介 Apache Bench 是 Apache 服务器自带的一个web压力测试工具,简称 ab . ab 非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等 ab的原理 ab的原理:ab命令会创建 多个并发 访问线程,模拟 多个访问者 同时对某一 URL地址 进行访问. 它的测试目标是基

  • 配置ab来为Nginx服务器做压力测试的方法

    在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同.面对这些问题,我们只能尽量去想方设法去模拟.所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数. 目前较为常见的网站压力测试工具有webbench.ab(apache benc

  • 使用Apache ab工具对Apache服务器进行简单的压力测试

    1.安裝ab命令 sudo apt-get install apache2-utils 2.ab命令参数说明 Usage: ab [options] [http[s]://]hostname[:port]/path  Options are: //总的请求数 -n requests Number of requests to perform //一次同时并发的请求数 总的请求数(n)=次数*一次并发数(c) -c concurrency Number of multiple requests t

随机推荐