文档章节

linux 下ab压力测试

Linux_Anna
 Linux_Anna
发布于 05/15 11:35
字数 1165
阅读 19
收藏 0

ab 介绍

ab是apachebench命令的缩写

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

ab的原理 

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

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

ab的安装

$ yum -y install httpd-tools


#检查是否安装成功
$ ab -V
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

 

ab的应用

说明: ab的命令参数比较多,我们经常使用的是-c和-n参数

$ ab -c 10 -n 100 http://test.basofhala.com/

注:同时处理100个请求并运行10次http://test.basofhala.com/

#参数说明:

-c10表示并发用户数为10

-n100表示请求总数为100


#测试结果

$ ab -c 10 -n 100 http://test.basofhala.com/

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking test.bassofhala.com (be patient).....done


Server Software:        nginx               #测试服务器的名字
Server Hostname:        test.basofhala.com  #请求的URL主机名
Server Port:            80                  #web服务器监听的端口

Document Path:          /                   #请求的URL中的根绝对路径,通过该文件的后缀名,我们一般可以了解该请求的类型
Document Length:        4102 bytes          #HTTP响应数据的正文长度

Concurrency Level:      10                  #并发用户数,这是我们设置的参数之一
Time taken for tests:   6.361 seconds       #所有这些请求被处理完成所花费的总时间 单位秒
omplete requests:      100                  # 总请求数量,这是我们设置的参数之一
Failed requests:        1                   #表示失败的请求数量,这里的失败是指请求在连接服务器、发送数据等环节发生异常,以及无响应后超时的情况
   (Connect: 0, Receive: 0, Length: 1, Exceptions: 0)
Write errors:           0
Total transferred:      474318 bytes        #所有请求的响应数据长度总和。包括每个HTTP响应数据的头信息和正文数据的长度
HTML transferred:       412818 bytes         #所有请求的响应数据中正文数据的总和,也就是减去了Total transferred中HTTP响应数据中的头信息的长度
Requests per second:    15.72 [#/sec] (mean) #吞吐率,计算公式:Complete requests/Time taken for tests  总请求数/处理完成这些请求数所花费的时间
Time per request:       636.133 [ms] (mean)  #用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)。处理完成所有请求数所花费的时间/(总请求数/并发用户数)
Time per request:       63.613 [ms] (mean, across all concurrent requests)  #服务器平均请求等待时间,计算公式:Time taken for tests/Complete requests,正好是吞吐率的倒数。也可以这么统计:Time per request/Concurrency Level
Transfer rate:          72.82 [Kbytes/sec] received     #表示这些请求在单位时间内从服务器获取的数据长度,计算公式:Total trnasferred/ Time taken for tests,这个统计很好的说明服务器的处理能力达到极限时,其出口宽带的需求量。


Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:   523  569  37.3    561     648
Waiting:      523  569  37.3    561     648
Total:        524  569  37.4    561     649

Percentage of the requests served within a certain time (ms)
  50%    561
  66%    580
  75%    595
  80%    620
  90%    626
  95%    639
  98%    647
  99%    649
 100%    649 (longest request)

#Percentage of requests served within a certain time(ms)这部分数据用于描述每个请求处理时间的分布情况,比如以上测试,80%的请求处理时间都在620ms,这个处理时间是指前面的Time per request,即对于单个用户而言,平均每个请求的处理时间

说明:整个测试结果可以看到有1个失败请求数

 

© 著作权归作者所有

下一篇: Jenkins 升级
Linux_Anna
粉丝 10
博文 200
码字总数 198500
作品 0
广州
运维
私信 提问
亲们,你们的tomcat并发能到多少?

配置:Intel Xeon E5 2.4G*6核,16G内存,Redhat Linux X64,jdk 7(server),tomcat 8.9 改了tomcat 内存配置,开启了nio+epoll,结果仍不好看。。。 vi bin/catalina.sh CATALINA_OPTS='-Dja......

爱喝貓的咖啡
2014/08/18
0
12
linux 下网站压力测试工具webbench

一直在用webbench ,这个linux下的网站压力测试工具。整理下。 笔记本装的ubuntu,其他linux系统也差不多。 webbench 需要先安装 ctags,一个vim的阅读插件,可以直接输入ctags看看系统上装了...

从前
2013/06/12
0
0
Web压力测试工具:http_load、webbench、ab、Siege使用教程

一、httpload 程序非常小,解压后也不到100K httpload以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般不会把客...

看看这天
2015/08/11
0
0
Apache基础教程

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的A...

harries
2016/03/23
29
0
使用fiddler+apache ab进行压力测试

linux 没有jmeter loadruner等工具, 另外非网页的例如手机app接口和c/s结构的系统怎么压测呢,当然最正确是在自己写的自动化测试工具里压,另外我们还可以使用fiddler+ab来进行抓包和压测 ...

feimat
2016/12/28
299
0

没有更多内容

加载失败,请刷新页面

加载更多

北斗三号IGSO-2卫星发射成功!

6月25日,中国航天科技集团官方公众号宣布,北斗三号IGSO-2卫星发射成功! 航天科技集团表示,6月25日2点09分,我国在西昌卫星发射中心用长征三号乙运载火箭成功将北斗三号第2颗倾斜地球同步...

linuxCool
18分钟前
1
0
阿里java开发规约的Idea插件安装(英文)

Idea Plugin Prepare Project JDK: 1.7+ Gradle: 3.0+(Require JDK1.8+ for gradle) Build cd p3c-ideagradle clean buildPlugin Run plugin cd p3c-ideagradle runIde# run speci......

Airship
28分钟前
1
0
很多人转行做程序员选择web前端学习,前端简单在哪里?

不管你是工人阶层还是服务行业,是否想过转行IT,转行IT后肯定会选择一门编程语言进行深入学习,很多转行的人基础都不是太好,不是科班出身,甚至有的是专科乃至中专,前端的HTML和CSS相对其...

智云编程
41分钟前
1
0
一文读懂内网、公网和NAT

我们做弱电监控系统的时候,都避免不了要跟IP地址打交道,比如摄像头、NVR、服务器等这些设备安装好之后,就需要给它们配上IP,那这个IP地址你了解嘛?今天我们就一起来聊聊什么是内网、公网和...

老孟的Linux私房菜
45分钟前
5
0
聊聊dubbo的ExecuteLimitFilter

序 本文主要研究一下dubbo的ExecuteLimitFilter ExecuteLimitFilter dubbo-2.7.2/dubbo-rpc/dubbo-rpc-api/src/main/java/org/apache/dubbo/rpc/filter/ExecuteLimitFilter.java public clas......

go4it
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部