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

相关文章

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、