ApacheBench压测工具的安装和使用

本文详细介绍ApacheBench(ab)工具的安装与使用方法。ab是Apache的HTTP性能测试工具,用于评估Apache服务器的执行性能,包括每秒处理请求的能力。文章涵盖了在Mac系统上的安装流程,从下载ApacheHTTPServer到配置apr、apr-util及httpd,再到启动测试。同时,解析了压力测试结果中的关键数据,如吞吐率、并发用户数和用户平均请求等待时间,并提供了ab命令的常用选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

压力测试工具ApacheBench

ApacheBench工具简介

  • 官网解释: ab是Apache的超文本传输​​协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的的Apache的执行性能,主要是显示你安装的Apache的每秒可以处理多少个请求。
  • 个人理解: ab是单接口测试最方便的工具, 它会模拟多线程并发请求。 ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载, 简单DDOS攻击等。

Mac系统上安装ApacheBench工具

官网下载
安装工具
安装 apr
  1. 输入命令brew install apr下载apr工具
    在这里插入图片描述
  2. 把安装好的apr追加到配置文件: echo `export PATH="/usr/local/opt/apr/bin:$PATH"` >> ~/.zshrc
    在这里插入图片描述
安装 apr-util
  1. 输入命令brew install apr-util下载apr-util
    在这里插入图片描述
  2. 把安装好的apr-util追加到配置文件echo `export PATH="/usr/local/opt/apr-util/bin:$PATH"` >> ~/.zshrc
    在这里插入图片描述
  3. 如果本机没安装pcre, 需要执行brew install pcre, 再追加到~./zshrc配置文件中
安装 httpd
  1. 进入到httpd目录
  2. 执行./configure
  3. 执行sudo make
  4. 执行sudo cd ~make install

启动测试

  1. 写一个接口提供给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";
    }

}
    
  1. 打开终端, 输入 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显示版本信息
abApache HTTP服务器自带的一个工具,也可以独立使用。以下是ab的用法一个简单的案例: 1. 安装ab ab通常与Apache HTTP服务器一起安装,可以通过以下命令确认ab是否已经安装: ``` ab -V ``` 如果输出包含"ApacheBench"字样,则表示ab已经安装。 如果没有安装,则可以通过以下命令安装: Ubuntu/Debian系统: ``` sudo apt-get install apache2-utils ``` CentOS/RHEL系统: ``` sudo yum install httpd-tools ``` 2. 使用ab进行 以下是一个例子: ``` ab -n 1000 -c 100 http://localhost:8080/index.html ``` 这条命令表示发起1000个请求,每次并发100个请求,访问http://localhost:8080/index.html页面,并输出结果。 3. 结果分析 ab的输出结果包含三个部分:请求的数量、请求的吞吐量请求的延迟。其中,请求的数量吞吐量可以直接用于评估系统的性能,而请求的延迟则可以用于优化系统的性能。 例如,以下是一条ab的输出结果: ``` Concurrency Level: 100 Time taken for tests: 2.256 seconds Complete requests: 1000 Failed requests: 0 Total transferred: 130000 bytes HTML transferred: 11000 bytes Requests per second: 443.72 [#/sec] (mean) Time per request: 225.602 [ms] (mean) Time per request: 2.256 [ms] (mean, across all concurrent requests) Transfer rate: 56.24 [Kbytes/sec] received ``` 其中,Requests per second表示每秒钟处理的请求数量,Time per request表示每个请求的平均延迟。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值