“欢迎勾搭心月小姐姐,了解近期开班”
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。
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文件夹:
3)安装
在 /usr/local/web/apache 目录下安装Apache执行以下命令
由于版本问题出现以上错误。(Elsa 本人64 位机器出现此问题)
解决方案:
Redhat系列(包括 fedroa, centos)用命令
yum groupinstall “Development Tools”
Debian系列(包括 ubuntu) 用命令
aptitude install build-essential
本人使用的是centOs 执行 yum groupinstall “Development Tools” 命令 ,之后再重新执行
执行完毕
which ab 查看安装位置
③ 不想安装Apache 但是想使用 ab 命令时可以直接安装 Apache 的工具包 http-tools
查看安装是否成功
安装成功则会显示版本信息
三、参数说明
ab 参考文档及参数说明
http://httpd.apache.org/docs/2.2/programs/ab.html
测试命令
说明:
-c concurrency 并发量
-n requests 请求数
通常使用最多的参数 -n -c
四、ab 性能指标
在进行性能测试过程中有几个指标比较重要
五、ab的应用
ab 在 Linux 系统中压力测试安装完事之后,直接可以测试其他任意的网站
请求后面可以不添加端口号使用默认,当手动写入时: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 文件比较慢,但是第二次访问不需要再次编译,所以第一次不算数
六、扩展(创建虚拟主机)
虚拟主机新建完毕后,我们来启动apache,并访问虚拟主机 http://a.lxy.com/index.php。
领取专属 10元无门槛券
私享最新 技术干货