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

性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege

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

一、ab 的原理(apachebench命令的缩写)

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

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

二、安装(以 Linux 环境为例 )

①源码安装
②apache 通过 yum 的 RPM 包方式安装 默认存放在 /usr/bin

1) /opt下面解压:httpd-2.2.29.tar.gz
2) /opt下进入httpd-2.2.29文件夹:cd httpd-2.2.29
3) 安装

在 /usr/local/web/apache 目录下安装Apache执行以下命令

./configure  --prefix=/usr/local/web/apache --enable-shared=max  --enable-module=rewirte  --enable-module=so

由于版本问题出现以上错误。(Elsa 本人64 位机器出现此问题)

解决方案:

Redhat系列(包括 fedroa, centos)用命令
yum groupinstall “Development Tools”
Debian系列(包括 ubuntu) 用命令
aptitude install build-essential

本人使用的是centOs 执行 yum groupinstall “Development Tools” 命令 ,之后再重新执行

 1. ./configure --prefix=/usr/local/web/apache --enable-shared=max --enable-module=rewirte --enable-module=so

执行完毕

 2. 执行 make 命令编译
 3. 执行 make install   安装

which ab 查看安装位置

which ab

③ 不想安装Apache 但是想使用 ab 命令时可以直接安装 Apache 的工具包 http-tools

yum -y install httpd-tools

查看安装是否成功

ab -V   

安装成功则会显示版本信息

window 安装
目前apache最新版2.4.10,apache官网已经没有windows下载的版本。但是我们可以下载apache官网提供的集成软件包[下载地址](http://apache.fayea.com/httpd/binaries/win32/)

三、参数说明

ab 参考文档及参数说明

http://httpd.apache.org/docs/2.2/programs/ab.html

测试命令

ab [ -A auth-username:password ] [ -b windowsize ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path

说明:
-c concurrency 并发量
-n requests 请求数

通常使用最多的参数 -n -c

四、ab 性能指标

在进行性能测试过程中有几个指标比较重要

1、吞吐率(Requests per second)
2、并发连接数(The number of concurrent connections)
3、并发用户数(Concurrency Level)
4、用户平均请求等待时间(Time per request)
5、服务器平均请求等待时间(Time per request:across all concurrent requests)

五、ab的应用

ab 在 Linux 系统中压力测试安装完事之后,直接可以测试其他任意的网站

ab -n10000 -c1000 https://101.201.142.142:443**/**

请求后面可以不添加端口号使用默认,当手动写入时:http -80 https - 443

分析数据

Requests per second: 3684.48 [#/sec] (mean)
Requests per second: 4443.88 [#/sec] (mean)
Requests per second: 4103.85 [#/sec] (mean)
APR配置之后
Requests per second: 2079.95 [#/sec] (mean)
Requests per second: 5474.69 [#/sec] (mean) 吞吐量。每秒请求数可以冲刺到 5k 多

测试中最尾部一定要有一个“/”,否则出现以下错误
ab 压测至少是10次
tomcat 是 servlet 容器,servlet 第一次编译成jsp 文件比较慢,但是第二次访问不需要再次编译,所以第一次不算数

六、测试nginx性能
参考
http://www.jb51.net/article/59469.htm

七、扩展(创建虚拟主机)
http://www.jb51.net/article/59469.htm 参考

cat /etc/httpd/conf/httpd.conf|grep -v ^#|grep -v ^$
mkdir -p /www/a.lxy.com
echo '<?php phpinfo();?>'>/www/a.lxy.com/index.php
cat /www/a.lxy.com/index.php

虚拟主机新建完毕后,我们来启动apache,并访问虚拟主机 http://a.lxy.com/index.php。

apache-ab 并发负载压力测试相关推荐

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

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

  2. ab并发负载压力测试

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

  3. 使用Ab命令对Apache服务器进行负载压力测试

    使用Ab命令对Apache服务器进行负载压力测试 本站原创 [基于 署名-非商业使用-相同方式分享 2.5 协议,转载须注明链接] 本文所述Ab命令已由管理员在Debian.Centos两个系统中实际 ...

  4. apache-ab并发负载压力测试(转)

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

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

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

  6. 南柯服务器压力,性能/负载/压力测试 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    在面试测试人员的时候,这是一个很好的问题:你如何定义性能/负载/压力测试?在很多时候,人们都是将它们作为可互相替换的相同术语来使用,然而实际上他们之间的差异是比较大的.这个贴子是根据我自己的一些经验, ...

  7. loadrunner server压力测试 sql_LoadRunner进行负载压力测试

    第二章 使用 LoadRunner 进行负载 / 压力测试 2.1 本章概述 LoadRunner 是 MI 公司的自动化 client/server 性能测试工具. 它施压于你的整个的应用程序, 来 ...

  8. 软件测评师--第20小时 负载压力测试及故障定位于分析

    20-负载压力测试以及故障定位与分析 测试需求分析 系统测试实施两次性能测试 第一次为性能检测与故障定位 第二次为对调优之后的效果进行评估 局域网测试的主要内容 定位应用系统以及软.硬件支撑环境故障 ...

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

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

最新文章

  1. [20170420]表达式加0或者减0不一样.txt
  2. 显示行号 visual studio 1006
  3. 太沉重了:中国获全球“人道主义摄影奖”的照片!组图
  4. 在乌镇拼命“洗白”的拼多多
  5. 电涡流传感器9200-06-05-10-00本特利
  6. 初识Tracepro及基本操作说明
  7. Java 嵌入 SPL 轻松实现 Excel 文件合并
  8. 13 函数列与函数项级数
  9. 瑜欣平瑞通过注册:年营收6.6亿 胡云平一家三口为实控人
  10. 手摸手教你搭建免费图床
  11. 【Day28 文献泛读】人类数字、时间和空间加工的关联性与独立性
  12. ubuntu20.04 noetic 安装 Astra Pro 驱动
  13. 阿里,B站小伙伴刚刚分享的大数据开发运维学习规划,抓紧收藏
  14. mysql工作日_mysql自定义函数计算时间段内的工作日(支持跨年)
  15. 大数据能否带来风控革命
  16. On the Effectiveness of Visible Watermarks 利用AI技术去除图像水印
  17. 《 初学 》 html5 制作简单时钟
  18. Mac OS X的Spotlight综述
  19. 中年大叔学雷达-TR组件
  20. 【网络与系统安全实验】口令破解及防御

热门文章

  1. FLV(ACC+H264)文件格式分析
  2. 【原创】关于Golang和Rust对比及语言的选择思考
  3. LOOP AT SCREEN ABAP
  4. 【STM32项目】老人健康跌倒检测系统实现
  5. [LOJ6515]「雅礼集训 2018 Day10」贪玩蓝月
  6. 数据库数据修改报错The instance of entity type ‘XXX‘ cannot be tracked
  7. git 创建分支并上传代码
  8. ERP : 产出控制
  9. 只要5分钟!学会自己打造多系统合集的DVD安装光盘
  10. 一种高效、安全的Dota全图新思路