ApacheBench压测工具的安装和使用
压力测试工具ApacheBench
ApacheBench工具简介
- 官网解释: ab是Apache的超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的的Apache的执行性能,主要是显示你安装的Apache的每秒可以处理多少个请求。
- 个人理解: ab是单接口测试最方便的工具, 它会模拟多线程并发请求。 ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载, 简单DDOS攻击等。
Mac系统上安装ApacheBench工具
官网下载
- Apache官网下载Apache HTPP Server
安装工具
安装 apr
- 输入命令
brew install apr
下载apr工具
- 把安装好的apr追加到配置文件:
echo `export PATH="/usr/local/opt/apr/bin:$PATH"` >> ~/.zshrc
安装 apr-util
- 输入命令
brew install apr-util
下载apr-util
- 把安装好的apr-util追加到配置文件
echo `export PATH="/usr/local/opt/apr-util/bin:$PATH"` >> ~/.zshrc
- 如果本机没安装
pcre
, 需要执行brew install pcre
, 再追加到~./zshrc
配置文件中
安装 httpd
- 进入到httpd目录
- 执行
./configure
- 执行
sudo make
- 执行
sudo cd ~make install
启动测试
- 写一个接口提供给Apche ab进行测试
package com.study.java.example;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/**
* Copyright: Copyright (c) 2019 LanRu-Caifu
*
* @ClassName: ApcheToolsTest
* @Description: ab测试
* @author: liusheng
* @date: 2019-06-29 18:46
* @version: v1.0.0
* ---------------------------------------------------------*
* Modification History:
* Date Author Version Description
* ---------------------------------------------------------*
* 2019-06-29 liusheng v1.0.0 Modify reason
*/
@RestController
@RequestMapping("/ab")
public class ApcheToolsTest {
@GetMapping("/test")
@ResponseBody
public String testApcheToolAb() {
return "ab - Apache HTTP server benchmarking tool";
}
}
- 打开终端, 输入
ab -n 1 -c 1 http://127.0.0.1:8080/ab/test/
进行测试
压力测试结果关键数据说明
三个重要参数
- Requests per second 吞吐率
- Concurrency Level 并发用户数
- Time per request 用户平均请求等待时间
ab命令常用选项
选项 | 相应功能 |
---|---|
-n | 执行请求的数量 |
-c | 每个请求的并发连接数 |
-t | 等待响应时间 |
-V | 显示版本信息 |