文档章节

Centos Web 压力测试工具ApacheBench (ab)独立安装

豆花饭烧土豆
 豆花饭烧土豆
发布于 2017/06/05 06:34
字数 862
阅读 27
收藏 0
点赞 0
评论 0

摘要: ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。 ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也须注意,否则一次上太多的负载,可能造成目标服务器因资源耗完,严重时甚至导致死机。

Apache服务自带了应该用于压力测试的工具ab(ApacheBench),对应做一些简单的压力测试,它完全能够胜任,本文主要介绍,在centos中不安装Apache的情况下,安装ab

1,ab运行的时候需要依赖包,我们先安装依赖包,直接yum安装就可以了

yum install apr-util

2, 下载apache的rpm包,分离ab

[root@Tomcat ~]# mkdir ab
[root@Tomcat ~]# cd ab
[root@Tomcat ab]# yum -y install yum-utils
[root@Tomcat ab]# yumdownloader httpd  #yumdownloader 需要安装yum-utils才能使用,默认是没有的安装的
[root@Tomcat ab]# rpm2cpio httpd-2.2.3-91.el5.centos.i386.rpm |cpio -idmv
[root@Tomcat ab]# \cp -pa usr/bin/ab /usr/bin/  #复制到系统PATH就可以使用了

 

3,ab简单用法

参数很多,一般我们用 -c 和 -n 参数就可以了。

#ab -c 1000 -n 4000 http://www.yousite.com/index.html  #具体到某页面

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

[root@Tomcat ab]# ab -c 1000 -n 4000 http://192.168.0.222/docs/manager-howto.html
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.222 (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
Finished 4000 requests


Server Software:        nginx/1.4.3
Server Hostname:        192.168.0.222
Server Port:            80

Document Path:          /docs/manager-howto.html
Document Length:        73924 bytes

Concurrency Level:      1000
Time taken for tests:   0.875928 seconds
Complete requests:      4000
Failed requests:        0
Write errors:           0
Total transferred:      296732000 bytes
HTML transferred:       295696000 bytes
Requests per second:    4566.59 [#/sec] (mean)
#最重要的指标之一,相当于LR中的每秒事务数,后面括号中的mean表示这是一个平均值,越大抗压越强
Time per request:       218.982 [ms] (mean) 
#最重要的指标之二,相当于LR中的平均事务响应时间,后面括号中的mean表示这是一个平均值
Time per request:       0.219 [ms] (mean, across all concurrent requests)
Transfer rate:          330822.86 [Kbytes/sec] received
#平均每秒网络上的流量,吞吐量,越大抗压越强

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   4.5      0      29
Processing:     1   17  14.5     17     653
Waiting:        0   17  14.5     17     653
Total:         15   18  15.2     17     674

Percentage of the requests served within a certain time (ms)
  50%     17
  66%     18
  75%     18
  80%     18
  90%     20
  95%     22
  98%     37
  99%     40
 100%    674 (longest request)

 

主要介绍里面的几个指标,我基本也就看这几个指标,简单测试足够了,如果要全面的监控nginx,需要用到专业的监控程序,如nagios

参考:https://my.oschina.net/harlanblog/blog/395420

 yum install apr-util

yum install yum-utils

cd /opt

mkdir /opt/ab

yum install yum-utils.noarch

yumdownloader httpd-tools*

rpm2cpio httpd-*.rpm | cpio -idmv

cp /opt/ab/usr/bin/ab /usr/bin/

参考:

http://blog.csdn.net/fyqaccpt96/article/details/43272001

http://www.cnblogs.com/terryguan/p/6681055.html

 

© 著作权归作者所有

共有 人打赏支持
豆花饭烧土豆
粉丝 14
博文 347
码字总数 84264
作品 0
深圳
[雪峰磁针石博客] 性能测试工具ApacheBench

ApacheBench简介 ApacheBench 是一个用来衡量http服务器性能的单线程命令行工具。原本针对Apache http服务器,但是也适用于其他http服务器。 ab工具与标准 Apache源码一起发布,免费,开源,...

Python测试开发人工智能
前天
0
0
Centos Web 压力测试工具ApacheBench (ab)独立安装

Apache服务自带了应该用于压力测试的工具ab(ApacheBench),对应做一些简单的压力测试,它完全能够胜任,本文主要介绍,在centos中不安装Apache的情况下,安装ab 1,ab运行的时候需要依赖包...

静夜听风
2015/04/02
0
1
centos7.4 安装配置vnc

如果没有安装X-Windows 桌面的话要先安装Xwindows [root@test-bench system]# yum check-update [root@test-bench system]# yum groupinstall "X Window System" 启动桌面——startx #start......

yuri_cto
06/10
0
0
nginx限制某个IP同一时间段的访问次数

如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候。其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻...

Jean
2013/11/30
0
1
nginx限制某个IP同一时间段的访问次数

如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候。其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻...

山哥
2013/04/27
0
0
apache 的负载测试(ab的用法)

apacheBench(ab) apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下使用这个工具可以对服务器进行负载测试。 用法: ab -n 全部请求数 -c 并发数 测试url Concurrency Level: 50...

RickyFeng
2012/02/10
0
0
Nginx应用案例分享:压力测试

在运维工作中,压力测试是一项非常重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。 但是,在压力测试中存在一个...

kisshua
2012/02/22
0
0
使用apache bench(ab)压力测试

ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求。近期对产品代码进行了重构,现准备测试新API接口的并...

张旭0512
2014/08/06
0
0
pgpool-II 数据库集群工具的安装配置(主要是记录下安装过程中遇到的问题)

前部分: 下载:下载后的源码包中就包含中文手册和入门教程。 http://www.pgpool.net/mediawiki/index.php/Downloads 记住,ubuntu的话,挑选源代码下载!否则./configure的时候会报".PO"文件...

威武不能笑
2014/04/30
0
0
RadonDB技术手册――RadonDB性能压测体验

  【IT168 技术】背景   此场景目的是体验RadonDB的读写性能。   压测使用开源工具benchyou,整个压测大概需要10分钟。   4个表,64个线程随机读、写。   基于导入数据进行压测。 ...

it168网站
05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Python -re模块及正则表达式解析

传送门: https://blog.csdn.net/pipisorry/article/details/25909899 ps:上面文章中"命名分组"的语法格式不能执行。正确的如下: (?P<name>正则表达式) #name是一个合法的标识符 除了使用别名...

一口今心
13分钟前
0
0
mybatis中session.getMapper方法源码分析

0开始代码AuthorMapper mapper = session.getMapper(AuthorMapper.class); 1 DefaultSqlSession类 @Override public <T> T getMapper(Class<T> type) { //最后会去调用MapperRegistry.getMap......

writeademo
21分钟前
1
0
spring cloud zuul网关的作用

zuul一般有两大作用,1是类似于Nginx的网址重定向,但zuul的重定向的一般是整个spring cloud里在Eureka注册中心的模块. zuul: ignored-services: '*' sensitiveHeaders: routes: ...

算法之名
21分钟前
9
0
java按比例之原图生成缩略图

package com.wxp.test; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import javax.imageio.ImageIO; import sun.......

恋码之子
31分钟前
1
0
SpringCloud 微服务 (十五) 服务容错 Hystrix

壹 工作中的微服务架构,某个服务通常会被多个服务调用或者多层调用完成需求,如果某个服务不可用,导致一个系统功能不可用或者服务直接没用了的情况,这种情况称为雪崩效应 有A服务调用B服务,B服...

___大侠
33分钟前
1
0
Spring框架中的设计模式(五)

Spring框架中的设计模式(五) 通过以前的4篇文章,我们看到Spring采用了大量的关于创建和结构方面的设计模式。本文将描述属于行为方面的两种设计模式:命令和访问者。 前传: Spring框架中的...

瑞查德-Jack
36分钟前
1
0
解决phpstorm运行很卡问题!

phpStorm一旦达到这个临界值,所有智能提示、自动补全都失效了 这TM就很尴尬了,顿时感觉自己就是个废人了,纯手写代码跟便秘一样 众所周知phpStorm基于JAVA,那么这个内存限制肯定跟JAVA的虚...

sjcehui2010
39分钟前
0
0
javascript前端AES加密解密

参考了一下网上的代码加上自已的一些想法,修改,key也可以是中文, 要引入一个aes.js的js文件。 html代码 <html> <head> <title>AES加解密</title> <meta http-equiv="Content-Type"......

oisan_
42分钟前
0
0
MacOS和Linux内核的区别

有些人可能认为MacOS和Linux内核有相似之处,因为它们可以处理类似的命令和类似的软件。甚至有人认为苹果的MacOS是基于linux的。事实上,这两个内核的历史和特性是非常不同的。今天,我们来看...

六库科技
46分钟前
0
0
Vue.js-自定义事件例子

自定义组件的 v-model 2.2.0+ 新增 一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框、复选框等类型的输入控件可能会将 value 特性用于不同的目的。m...

tianyawhl
50分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部