ab压测

news/2024/11/9 13:41:39

Centos 7 ab 压力测试安装与解释

  • Step 1 — ab (apache benchmark) 安装
  • Step 2 — ab 测试的命令参数
  • Step 3 — ab 测试 PHP 网站

Step 1 — ab (apache benchmark) 安装

yum -y install httpd-tools

安装完后输入 ab -V 显示类似如下:

alt

Step 2 — ab 测试的命令参数

alt

参数说明:

-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。

Step 3 — ab 测试 PHP 网站

[root@daguanren ~]# ab -n1000 -c10 http://localhost/index.php
-n1000 表示总请求数为1000
-c10 表示并发用户数为10
http://localhost/index.php 表示这些请求的目标URL

alt

测试结果一目了然,我们看到吞吐率显示 17258.34 reqs/s 。

接下来测试并发数为129个和500个用户的吞吐率变化情况。

alt

alt

可以看到并发数为129个时,吞吐率显示 18017.69 reqs/s 。再往后随着并发数的递增,吞吐率开始大幅下降,当并发数为500个时,吞吐率下降为 4780.30 reqs/s 。(实际130个并发数时,已经骤降到不到 5000 reqs/s 的吞吐率)。

如果是 POST 请求:

[root@daguanren ~]# cat postData.txt 
name=daguanren&site=www.daguanren.cc
ab -n 1000 -c 100 -p postdata.txt -T application/x-www-form-urlencoded "http://localhost/index.php"

所以,并发数存在一个最优值可以使吞吐率达到最大。当并发数继续增加时,服务器的硬件配置无法跟上节奏,导致吞吐率骤降。

 

 

 

 

https://www.jianshu.com/p/c87eb4b1e480

介绍

  • 吞吐率(Requests per second)
    概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
    计算公式:总请求数 / 处理完成这些请求数所花费的时间,即 Request per second = Complete requests
    / Time taken for tests
  • 并发连接数(The number of concurrent connections)
    概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
  • 并发用户数(The number of concurrent users,Concurrency Level)
    概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。
  • 用户平均请求等待时间(Time per request) 计算公式:处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数),即
    Time per request = Time taken for tests /( Complete requests /
    Concurrency Level)
  • 服务器平均请求等待时间(Time per request: across all concurrent requests)
    计算公式:处理完成所有请求数所花费的时间 / 总请求数,即 Time taken for / testsComplete requests
    可以看到,它是吞吐率的倒数。 同时,它也=用户平均请求等待时间/并发用户数,即 Time per request /
    Concurrency Level
  • Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工具 ,简单易用
  • 在此提供 ab 在 centOS7 下的安装和使用方法

链接:https://www.jianshu.com/p/c87eb4b1e480
 


http://www.niftyadmin.cn/n/2124346.html

相关文章

linux 下rac的安装

Linux下rac的安装 1&#xff0c;环境准备 192.168.5.10 rac1 192.168.5.100 prac1 10.20.0.10 vrac1 192.168.5.20 rac2 192.168.5.200 prac2 10.20.0.20 vrac2 2.网卡设置前提是两块网卡 cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ifcfg-eth1<cp -rf ifcfg-eth0…

常用压测工具

Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 2009年04月13日 下午 | 作者&#xff1a;VPS侦探 可以通过压力测试对网站及服务器性能进行高压测试&#xff0c;暴露出其所存在的问题。从而对服务器及网站进行调整和优化。 注意在进行压力测试时要在单独…

greenplum 5.7 + create table + insert into

os: centos 7.4 gp: gpdb-5.7.0 三台机器 node1 为master host node2、node3为segment host psql 登录 node1 master $ psql -d peiybdb peiybdb# select current_database();current_database ------------------peiybdb (1 row)create table tmp_t0( c1 varchar(100), c2…

Solaris 下rac的安装

Unix下rac集群安装 1&#xff0c;前提 rac1 10.85.0.10 rac2 10.85.0.20 2&#xff0c;配置网络连接需要公网&#xff0c;私网各一个 192.168.15.10 prac1 192.168.15.20 vrac1 192.168.15.100 prac2 192.168.15.200 vrac2 3,设置网络连接可以再添加一块网卡&#xff0c;…

pgcrypto

os:centos 6.8 db:postgresql 9.6 pgcrypto模块为PostgreSQL提供了密码函数。 简单使用了一下。 创建pgcrypto mondb# create extension pgcrypto; CREATE EXTENSION加密 mondb# select encrypt(123我men,aa,aes);encrypt --------------------------------…

php反射

什么是php反射类&#xff0c;顾名思义&#xff0c;可以理解为一个类的映射。 1.自动生成文档 根据反射的分析类&#xff0c;接口&#xff0c;函数和方法的内部结构&#xff0c;方法和函数的参数&#xff0c;以及类的属性和方法&#xff0c;可以自动生成文档。 <?php cla…

rac中ssh的配置

rac中的ssh双机配置 1&#xff0c;前提条件 rac1 192.168.5.80 rac2 192.168.5.90 修改主机名称是 vi /etc/sysconfig/network 为使其立即生效在修改hostname xx 临时的ip是 ifconfig eth0 ip 2,修改静态主机表 vi /etc/hosts 将本机的主机名&#xff0c;删除 在后面追加 1…

dos命令

net user 用户名 密码 /add 添加用户 net user guest /active:yes 激活guest用户 net user 查看有哪些用户 net user 账户名 查看该账户的属性 net localgroup administrators 用户名 /add 将用户添加到管理员&#xff0c;具有管理员的权限 net start 查看开启了哪些服…