Apache Bench(ab )压力测试

2024-02-29 06:04
文章标签 测试 apache 压力 ab bench

本文主要是介绍Apache Bench(ab )压力测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 参数说明
  • 示例1:压力测试
  • 示例2:测试post接口
    • post数据文件该如何编写?
  • apr_pollset_poll: The timeout specified has expired (70007)
  • apr_socket_recv: Connection reset by peer (104)
  • 参考

参数说明

官方文档参考这里。

ab -c 100 -n 10000 -k -r https://www.baidu.com/
  • -c:concurrency,每次发送的请求次数,默认一次一个。如:-c 100 表示每次发送100个请求,模拟100人同时访问。
  • -n:requests,本次测试的总请求数。
  • 上面命令的含义:每次发送100个请求,共发送10000个请求。

示例1:压力测试

shell> ab -c 100 -n 10000 -k -r https://www.baidu.com/
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking www.baidu.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requestsServer Software:        BWS/1.1
Server Hostname:        www.baidu.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128
Server Temp Key:        ECDH P-256 256 bits
TLS Server Name:        www.baidu.comDocument Path:          /
Document Length:        227 bytesConcurrency Level:      100
Time taken for tests:   6.655 seconds
Complete requests:      10000
Failed requests:        0
Keep-Alive requests:    0
Total transferred:      13929176 bytes
HTML transferred:       2270000 bytes
Requests per second:    1502.72 [#/sec] (mean)
Time per request:       66.546 [ms] (mean)
Time per request:       0.665 [ms] (mean, across all concurrent requests)
Transfer rate:          2044.11 [Kbytes/sec] receivedConnection Times (ms)min  mean[+/-sd] median   max
Connect:       36   51   4.4     51     200
Processing:    12   15   4.6     14     205
Waiting:       12   14   4.1     13     205
Total:         54   66   6.1     65     267Percentage of the requests served within a certain time (ms)50%     6566%     6675%     6780%     6890%     6995%     7198%     7599%     78100%    267 (longest request)

示例2:测试post接口

ab -c 100 -n 1000 -r -k -p postdata_001_001.txt -T 'application/json'  https://xxx.xxx.xxx/api
  • postdata_001_001.txt 为post数据文件。post数据文件中的内容与接口所需参数保持一致。

post数据文件该如何编写?

可能是这样

uid=1&data={"username": "admin", "msg":"并发测试","type": "txt", "file": "","time":"2021-12-22

也可能是这样

{
"address":"124",
"amount":125
}

如果不能确定是什么样,可以先用接口测试工具测通,从接口测试工具中将post数据导出并保存成post数据文件。以apifox为例:
在这里插入图片描述

apr_pollset_poll: The timeout specified has expired (70007)

加个-k参数

apr_socket_recv: Connection reset by peer (104)

加个-r参数

参考

http://httpd.apache.org/docs/2.2/programs/ab.html
Apache Bench(ab 压力测试工具)的安装与使用
https://www.cnblogs.com/yoyoketang/p/10255100.html

这篇关于Apache Bench(ab )压力测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757790

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在