压测工具ab

在这里插入图片描述

Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用,

Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以适用于其他服务:nginx、lighthttp、tomcat、IIS等其它Web服务器的压力

采用平台:

CentOs7

软件查找和安装:

  • 有apache 就用which ab确定ab的位置
  • 没有apache,则安装:yum -y install httpd httpd-tools

查看安装后的版本

ab -V

具体参数:ab -help

ab [可选的参数选项] 需要进行压力测试的url,全路径
参数说明:
此外,我们再根据上面的用法介绍界面来详细了解每个参数选项的作用。

-n 即requests,用于指定压力测试总共的执行次数。
-c 即concurrency,用于指定的并发数。
-t 即timelimit,等待响应的最大时间(单位:秒)。
-b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。
-p 即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。
-u 即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。
-T 即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。
-v 即verbosity,指定打印帮助信息的冗余级别。
-w 以HTML表格形式打印结果。
-i 使用HEAD请求代替GET请求。
-x 插入字符串作为table标签的属性。
-y 插入字符串作为tr标签的属性。
-z 插入字符串作为td标签的属性。
-C 添加cookie信息,例如:"Apache=1234"(可以重复该参数选项以添加多个)。
-H 添加任意的请求头,例如:"Accept-Encoding: gzip",请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。
-A 添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。
-P 添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。
-X 指定使用的和端口号,例如:"126.10.10.3:88"。
-V 打印版本号并退出。
-k 使用HTTP的KeepAlive特性。
-d 不显示百分比。
-S 不显示预估和警告信息。
-g 输出结果信息到gnuplot格式的文件中。
-e 输出结果信息到CSV格式的文件中。
-r 指定接收到错误信息时不退出程序。
-h 显示用法信息,其实就是ab -help。
-Z ciphersuite密码套件  指定SSL / TLS密码套件(请参阅openssl密码)
-f protocol协议     指定SSL / TLS协议(SSL3,TLS1,TLS1.1,TLS1.2或ALL)

详细使用:

模拟并发请求100次,总共请求10000次

命令模板:

ab -c 100 -n 10000 待测试网站(建议完整路径)

ab -c 10 -t 600 网址(10个并发,运行10分钟,排查网站问题)

内容解释:

Server Software: nginx/1.10.2 (服务器软件名称及版本信息)
Server Hostname: 192.168.1.106(服务器主机名)
Server Port: 80 (服务器端口)
Document Path: /index1.html. (供测试的URL路径)
Document Length: 3721 bytes (供测试的URL返回的文档大小)
Concurrency Level: 1000 (并发数)
Time taken for tests: 2.327 seconds (压力测试消耗的总时间)
Complete requests: 5000 (的总次数)
Failed requests: 688 (失败的请求数)
Write errors: 0 (网络连接写入错误数)
Total transferred: 17402975 bytes (传输的总数据量)
HTML transferred: 16275725 bytes (HTML文档的总数据量)
Requests per second: 2148.98 [#/sec] (mean) (平均每秒的请求数) 这个是非常重要的参数数值,服务器的吞吐量
Time per request: 465.338 [ms] (mean) (所有并发用户(这里是1000)都请求一次的平均时间)
Time request: 0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)
Transfer rate: 7304.41 [Kbytes/sec] received 每秒获取的数据长度 (传输速率,单位:KB/s)

问题汇总

1)ab并发数不能大于请求数,会提示

ab: Cannot use concurrency level greater than total number of requests

2)请求数默认不能超过1024个,会提示

socket: Too many open files (24)

可用ulimit -n命令修改,例如:ulimit -n 8192 (设置用户可以同时打开的最大文件数)。

3)并发数默认不能大于20000个,会提示

ab: Invalid Concurrency [Range 0…20000]

需要修改apache源代码support目录下ab.c文件,找到:
define MAX_CONCURRENCY 20000
将宏定义的值改大,重新编译安装apache。

4)提示

apr_socket_recv: Connection reset by peer (104)

网上说是apr-util有些问题,不太稳定,多试几次就好了。

5)还有单独的apache bench源码包,及如何单独安装ab教程
下载:http://apachebench-standalone.googlecode.com/files/ab-standalone-0.1.tar.bz2
安装教程:https://code.google.com/p/apachebench-standalone/wiki/HowToBuild

6)测试时发现有如下错误


Failed requests: 998
(Connect: 0, Receive: 0, Length: 998, Exceptions: 0)

7) ab怎么post数据 ?

sudo ./ab -c 10 -n 100 -p ./post.file -T ‘application/x-www-form-urlencoded’ http://www.abc.cn/test

post.file内容:
aa=bb&cc=dd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/312868.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2-认识小程序项目

基本结构 myapp├─miniprogram┊ └──pages┊ ┊ └──index┊ ┊ ┊ ├──index.json┊ ┊ ┊ ├──index.ts┊ ┊ ┊ ├──index.wxml┊ ┊ ┊ └──index.wxss┊ ┊ └──logs┊ ┊ ├──index.json┊ ┊ ├──index.ts┊ ┊ ├…

面向对象的装饰器

【 1 】什么是property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 【 2 】使用方法和具体实例 面向对象的装饰器是一种在面向对象编程中用于修改类或方法行为的技术。装饰器提供了一种灵活的方式。可以在不修改原…

58.leetcode 最后一个单词的长度

一、题目 二、解答 1. 思路 分2种情况 第一种情况只有一个单词,不包含空格:这种情况直接返回单词本身的长度。第二种情况包含空格:先去掉首尾的空格,根据空格切割字符串生成一个字符串列表,返回倒数第一个索引位置字…

k8s集群配置NodeLocal DNSCache

一、简介 当集群规模较大时,运行的服务非常多,服务之间的频繁进行大量域名解析,CoreDNS将会承受更大的压力,可能会导致如下影响: 延迟增加:有限的coredns服务在解析大量的域名时,会导致解析结果…

大模型学习与实践笔记(五)

一、环境配置 1. huggingface 镜像下载 sentence-transformers 开源词向量模型 import os# 设置环境变量 os.environ[HF_ENDPOINT] https://hf-mirror.com# 下载模型 os.system(huggingface-cli download --resume-download sentence-transformers/paraphrase-multilingual-…

网站ICP备案和公安备案教程

由于最近华为云那边的服务器到期了,而续费的价格比较贵一点,刚好阿里云这边有活动就入手了一台,但是将网站迁移过来后发现又要进行ICP备案,那就备案呗。但是备案完成之后发现还有一个公安备案,真让人头大啊... 很多人也…

怎么挑选一体化污水处理设备

选择一体化污水处理设备是一个关键决策,它直接影响到污水处理系统的效能和运行成本。随着环保意识的日益提高,各种污水处理设备也不断地涌现出来。那么,在众多选项中,如何挑选一体化污水处理设备?本文将为您提供一些建…

17- Echarts 配置系列之:单轴 singleAxis

singleAxis: 用于展示只有一个数据维度的数据。它通常用于展示时间序列数据或者数值序列数据。 对于单轴的应用和绘制,其实就相当于我们平时的直角坐标系少一个 X 或者 Y ,然后进行图形绘制。 注意: 1.在使用单轴时&#xff0…

2024年最好用的简历编辑工具,助你腾飞职业生涯!

随着科技的不断发展,求职竞争也愈发激烈。在2024年,如何在众多求职者中脱颖而出成为关键问题。为了帮助大家在职业生涯中取得更好的机会,特别推荐一款在2024年最为出色的简历编辑工具——芊芊简历。 1. 创新的编辑功能 芊芊简历拥有直观易用…

使用JMeter发送FTP请求

使用jmeter发送FTP请求: FTP(File Transfer Protocol 文件传输协议)用于Internet上文件的双向传输。作为一个应用程序不同的操作系统也有不同的实现,为了保证可以跨平台,FTP程序都要遵循相同协议,FTP有上传…

05- OpenCV:图像操作和图像混合

目录 一、图像操作 1、读写图像 2、读写像素 3、修改像素值 4、Vec3b与Vec3F 5、相关的代码演示 二、图像混合 1、理论-线性混合操作 2、相关API(addWeighted) 3、代码演示(完整的例子) 一、图像操作 1、读写图像 (1)…

JVM基础(7)——ParNew垃圾回收器

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

信息系统中的需求分析

软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。根据IEEE的软件工程标准词汇表,软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,…

监督学习 - 支持向量机(Support Vector Machines,SVM)

什么是机器学习 支持向量机(Support Vector Machines,SVM)是一种强大的机器学习算法,可用于解决分类和回归问题。SVM的目标是找到一个最优的超平面,以在特征空间中有效地划分不同类别的样本。 基本原理 超平面 在二…

亚马逊卖家福音:鲲鹏系统全自动化操作,让你的账号更安全、生意更畅通

我想向大家分享一款让我的生意更轻松、更高效的神奇工具——亚马逊鲲鹏系统。这是一款功能齐全的全自动化操作软件,简直就是我的电商利器。下面我将为大家详细介绍一下我在使用这个系统时的真实体验。 首先,亚马逊鲲鹏系统的全自动批量注册买家号功能真是…

maya , motionbuilder 骨骼动画相关操作与脚本

文章目录 maya 解除/增加父子关系maya 修改骨骼局部坐标系mb同时打开两个动画文件显示骨骼局部坐标系删除不需要的骨骼重命名骨骼 maya 解除/增加父子关系 解触: 右键->操作->解除父子关系 增加:鼠标中键拖拽 maya 修改骨骼局部坐标系 注意一般就是改旋转&…

练习-sizeof()和strlen()

目录 前言解题技巧一、sizeof()练习题1.1 整型数组1.1.1 一维整型数组1.1.2 二维整型数组 1.2 字符数组1.3 字符指针 二、strlen()练习题2.1 字符数组初始化时不包含\02.2 字符数组初始化包含\02.3 字符指针指向字符串常量 总结 前言 最近有点疲倦,啊啊啊&#xff…

CentOS7 搭建Hadoop集群

1.环境准备 准备三台Linux(CentOS7)服务器 IP服务器名称192.168.11.136Master192.168.11.137Slave01192.168.11.138Slave02 1.2修改配置文件 1.2.1修改hosts文件 # Master服务器 vi /etc/hosts192.168.11.137 Slave01 192.168.11.138 Slave02 192.1…

微短剧市场暴涨267.65%,用微短剧场景AUI Kit精巧入局

微短剧,不仅上头,更要上心。 微短剧,深度“拿捏”了这个碎片化时代,也是刚过去的2023年绕不开的热词。 与传统影视剧制作精益求精、耗时长相反,门槛与耗时“双低”恰恰成为了微短剧的独特优势,使其走上以量…

普通卷积、转置卷积(transposed convolution)的原理及运算步骤解释

1.首先声明一点,转置卷积不是卷积的逆运算,转置卷积也是一种卷积方式,作用是进行上采样!主要出现在分割和对抗神经网络模型中比较多。 2.其次,transposed convolution、fractionally-strided convolution 和 deconvol…