精华内容
下载资源
问答
  • ab压测

    2019-12-22 11:12:16
    ab压测 -n 总请求数 -c 并发请求数

    ab压测
    -n 总请求数
    -c 并发请求数
    -R 是否开启长连接

    展开全文
  • ab 压测

    2019-10-03 23:40:50
    ab 压测 Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007) 前言 使用ab压力测试时候出现报错apr_pollset_p...

     

     

     

     

     

    Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)

    前言

    使用ab压力测试时候出现报错apr_pollset_poll: The timeout specified has expired (70007),本篇总结了几个ab常见的报错和对应解决办法
    当并发数过大的时候,也会出现apr_socket_recv: Connection reset by peer (104)

    apr_pollset_poll

    如果出现apr_pollset_poll: The timeout specified has expired (70007),主要是timeout连接超时了,可以加个-k参数,让连接KeepAlive

    ab -c 10 -n 5000 http://47.104.x.x:8082/

    [root@yoyo sbin]# ab -c 10 -n 5000 http://47.104.x.x:8082/
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 47.104.190.48 (be patient) Completed 500 requests Completed 1000 requests Completed 1500 requests Completed 2000 requests Completed 2500 requests Completed 3000 requests Completed 3500 requests Completed 4000 requests Completed 4500 requests apr_pollset_poll: The timeout specified has expired (70007)

    出现原因主要是timeout连接超时了,可以加个-k参数,让连接keep-alive,另外还有-r 和-s参数也可以加上

    -r              Don't exit on socket receive errors.                 # 在遇到socket接收错误后,不退出测试
    -s timeout      Seconds to max. wait for each response # 最大超时时间,默认30s Default is 30 seconds -k Use HTTP KeepAlive feature # keep-alive保持连接

    加上-k参数重新运行就不会有问题了

    ab -c 10 -n 5000 -k http://47.104.x.x:81/

    其它异常

    当并发数设置为1000时,直接报错:apr_socket_recv: Connection reset by peer (104)

    [root@yoyo sbin]# ab -c 1000 -n 10000 http://47.104.x.x:81/
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 47.104.190.48 (be patient) apr_socket_recv: Connection reset by peer (104) Total of 1 requests completed 

    当ab遇到严重的网络错误后,就会退出测试,因为这种错误说明网络存在其他问题,但是只要服务器返回数据,哪怕是数据不对,ab也会继续下去,但是会记录数据长度不对。
    但事实上是:在高压力下,偶尔的一两个请求被阻止,这是一个正常的情况,特别是有防火墙或入侵检测系统的情况下,这种事情会经常发生。
    那么ab有没有参数来跳过这种错误,使测试继续下去呢?

    -r参数可以实现忽略这种错误,在遇到socket接收错误后,不退出测试

    ab -c 10 -n 5000 -r http://47.104.x.x:81/

    加上-r参数就不会遇到这种异常,中途退出了

    posted on 2019-08-28 09:16  秦瑞It行程实录 阅读( ...) 评论( ...) 编辑 收藏

    转载于:https://www.cnblogs.com/ruiy/p/11422038.html

    展开全文
  • ab压测与siege压测

    千次阅读 2019-06-30 11:02:01
    本文的核心内容:Web压力测试指标,ab压测与Siege压测工具的使用。

    本文的核心内容:ab压测与Siege压测工具的使用。


     

    为了测试接口的性能、我们需要对接口进行压力测试,看看接口能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响接口调用方的前端展示效果。

     

    Web压力测试指标

          1.TPStransaction per second

      每秒钟完成的web请求响应数量

      TPS=并发数/响应时间

      TPS是衡量系统性能的重要指标

      2.并发数

      并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。

      3.响应时间

      响应时间是指系统对请求作出响应的时间。

      4.吞吐量

      吞吐量指的是单位时间系统传输数据总量。

      可知吞吐量和TPS,并发数这两个因素是正比关系。

      但是当TPS,并发数达到极限值时,吞吐量不升反降,这是因为系统资源产生了大的消耗。

     

    ab 测试

       ab是apachebench命令的缩写。

       ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、tomcat等其它Web服务器的压力。

     

    1)ab安装

    yum -y install httpd-tools
    
    [root@vic html]# ab -V
    This is ApacheBench, Version 2.3 <$Revision: 655654 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/

    2)ab 常用参数

    常用请求参数:-n请求次数,-c并发数 -X 代理ip:代理端口
       -n requests     请求次数
       -c concurrency  并发数
       -t timelimit    持续测试时间 单位[s]
       -X proxy:port   代理ip:代理端口
    ab -n 100 -c 10 https://www.baidu.com/

    3)测试报告说明:

    一般我们需要关心 Requests per second和 Transfer rate。 一般接口rps需要满足>=300,并且 99.9的响应请求保证在300ms内
    Connection Times (ms)和请求响应时间分布(Percentage of the requests served within a certain time (ms)) 几部分进行分析
    
    This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
    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).....done
    
    
    Server Software:        BWS/1.1
    Server Hostname:        www.baidu.com
    Server Port:            443
    SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES128-GCM-SHA256,2048,128
    
    Document Path:          /
    Document Length:        227 bytes
    
    Concurrency Level:      10
    Time taken for tests:   0.497 seconds
    Complete requests:      100
    Failed requests:        0
    Write errors:           0
    Total transferred:      108197 bytes
    HTML transferred:       22700 bytes
    Requests per second:    201.39 [#/sec] (mean)
    Time per request:       49.655 [ms] (mean)
    Time per request:       4.966 [ms] (mean, across all concurrent requests)
    Transfer rate:          212.79 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:       26   33   3.7     33      49
    Processing:     9   11   1.0     11      16
    Waiting:        9   11   1.0     11      16
    Total:         35   44   4.2     43      66
    
    Percentage of the requests served within a certain time (ms)
      50%     43
      66%     45
      75%     46
      80%     46
      90%     48
      95%     50
      98%     56
      99%     66
     100%     66 (longest request)
     
    这个表第一行表示有50%的请求都是在43ms内完成的, 以此类推,99%的请求是小于等于9ms的。

     

    siege 测试

    安装siege

    为了支持https,需要先下载安装openssl
    openssl地址:https://github.com/openssl/openssl

    git clone https://github.com/openssl/openssl
    cd openssl
    ./config --prefix=/usr/local/openssl
    make
    make install
    openssl version

    openssl安装完毕后,开始安装siege
    siege地址:http://download.joedog.org/siege/siege-4.0.4.tar.gz

    tar zxvf siege-4.0.4.tar.gz
    cd siege-4.0.4
    make clean
    ./configure --prefix=/usr/local/siege --with-ssl=/usr/local/openssl
    make 
    make install

    注意:siege默认只支持255个并发数,可以自己自定义,修改/root/.siege/siege.conf下的limit数值。

    1)使用说明

    使用方式:  siege [options] URL
    示例: siege -c 10 -t 1m $url  模拟10个用户并发请求$url,持续1分钟

    2)多url测试

    1. 登录测试服务器准备需要模拟的请求列表文件,文件内容每行一个url
    
      url格式 http://host[:port]/request_uri
    
    2. 请求示例: siege -c 200 -t 10s  -f url.txt  并发100个用户持续10s, 随机从文件url.txt读取url
    Options:
    -g, --get                 Get请求
    -c, --concurrent=NUM      并发请求数,默认 10
    -r, --reps=NUM            循环测试次数
    -t, --time=NUMm           测试时长: m[分],s[秒],H[小时] -t 1H 标识测试1小时
    -d, --delay=NUM           两次读取url延迟请求间隔时间
    -b, --benchmark           两次读取url间隔时间0,没有延迟
    -i, --internet            随机读取url
    -f, --file=FILE           FILE, select a specific URLS FILE.
    -l, --log[=FILE]          LOG to FILE. If FILE is not specified, the
                               default is used: PREFIX/var/siege.log
    -H, --header="text"       Add a header to request (can be many)
    -A, --user-agent="text"   Sets User-Agent in request
    -T, --content-type="text" Sets Content-Type in request
         --no-parser           NO PARSER, turn off the HTML page parser
         --no-follow           NO FOLLOW, do not follow HTTP redirects
    

    3)测试报告说明

    siege -c 100 -t  10s  http://www.baidu.com

    Lifting the server siege...
    Transactions:                  33554 hits  总请求次数
    Availability:                 100.00 %     成功率
    Elapsed time:                  59.67 secs   执行时间
    Data transferred:              74.03 MB     总数据传输大小
    Response time:                  0.18 secs    响应时间,显示网络连接的速度
    Transaction rate:             562.33 trans/sec  平均每秒完成次处理请求数
    Throughput:                     1.24 MB/sec   平均每秒传输数据
    Concurrency:                   99.70          最大连接数
    Successful transactions:       33554         成功请求次数
    Failed transactions:               0          失败请求次数
    Longest transaction:            1.17          最长请求时间
    Shortest transaction:           0.00          最短请求时间

     

    展开全文
  • linux ab压测

    2021-01-20 11:42:07
    2.安装ab压测工具 yum -y install httpd-tools 三、ab常用参数的介绍: -n :总共的请求执行数,缺省是1; -c: 并发数,缺省是1; -t:测试所进行的总时间,秒为单位,缺省50000s -p:POST时的数据文件 -w:...

    ab 压测实验

    ab 的原理

    ab 是 ApacheBench 命令的缩写。会创建多个并发线程访问,模拟多个访问者同时对某一 URL 地址进行访问。它的测试目标是基于 URL 的,因此,它既可以用来测试 apache 的负载压力,也可以测 试nginx、lighthttp、tomcat、IIS 等其它 Web 服务器的压力。

    ab 命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载。类似 CC 攻击。

    一、环境:linux CentOS 6.3

    二、压测工具:

    1.切换到root环境

    2.安装ab压测工具

    yum -y install httpd-tools

    三、ab常用参数的介绍:

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

    四、压测百度首页

    测试场景:模拟10个用户,对爱企查首页发起总共100次请求。

    测试命令

    ab -n 100 -c 10 http://www.baidu.com/

    注:url首页后缀要有斜线,如果是ajax可以不用带

    2.结果

    // 这个表第一行表示有50%的请求都是在173ms内完成的,可以看到这个值是比较接近平均系统响应时间

    以此类推,80%的请求是小于等于235ms的。

    刚才我们看到响应时间最长的那个请求是495ms,

    那么显然所有请求(100%)的时间都是小于等于495毫秒的,

    也就是表中最后一行的数据肯定是时间最长的那个请求(longest request)。

     

    展开全文
  • ab压测工具

    2019-05-17 14:10:06
    ab压测工具 [root@localhost ~]$ yum install -y httpd-tools # 安装ab工具 [root@localhost ~]$ ab -c 10 -n 1000 http://www.91cnm.com/ # 指定并发请求数为10,...
  • ab -r -k -n 100000 -c 500 www.baidu.com/login -r 表示遇到错误继续 -k 表示keepalive -n表示总共请求的次数 -c表示每次请求的数量(即并发数) url即要请求的地址 以上命令表示请求总数达到10万后就停止 ...
  • 安装命令: yum -y install httpd-tools 查看版本号: ab -V 基本命令: ab -n100 -c10 http://xxx.xxx.xxx 命令解释:启用10个并发,合计访问100次 QPS结果:
  • 上传图片进行ab压测 背景 今天在做图片分类任务的压力测试,我使用ab(Apache Benchmark)这个压测工具进行压测,这里完整记录下如何上传图片进行ab压测。 流程 整个压测流程大致有以下三个步骤: 构造压测文件; ...
  • ab压测 基本使用

    2019-09-27 20:29:37
    ab压测 1.ab 压测时apache/bin的附带工具,安装ab其实就是安装apache 2.下载 window下载 https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.41-win64-VS16.zip linux下载 ...
  • ab压测接口

    2019-10-18 15:53:23
    安装ab yum -y install httpd-tools 二 参数含义 -n即requests,用于指定压力测试总共的执行次数。 -c即concurrency,用于指定压力测试的并发数。 -t即timelimit,等待响应的最大时间(单位:秒)。 -b即window...
  • AB压测

    2015-08-14 23:29:20
    27(总结)Web性能压力测试工具之ApacheBench(ab)详解发表于: Apache, Linux, Web, Web Server, 个人日记, 原创总结| 作者: 谋万世全局者 标签: ab,ApacheBench,Web,压力测试,工具,性能,总结,详解PS:网站性能压力...
  • Apache ab 压测

    2016-09-04 20:34:56
    背景:网上关于ab get方式的压测太多,而关于post的压测方式基本一笔带过,本篇主要介绍ab post压测及遇到的相关问题。 一个简单的shell脚本: #!/bin/sh ab -l -n $1 -c $2 -p data.txt -T 'application/json' ...
  • 使用ab压测

    2019-09-18 06:07:50
    ab是Apache Benchmark的缩写,是Apache组织开发的一款web压力测试...centos 下安装yuminstallapr-utilubuntu下安装sudoapt-getinstallapache2-utils压测接口ab-n100http:10.0.12.111:9080/menu/tree常见参数说明-n...
  • Apache ab压测指令

    2015-09-21 14:26:12
    文章转载自:亚里亚之屋_Apache ab压测指令 如何估算一下自己应用的性能呢?Apahce有一个附带的小工具,能在忽略网络带宽的 情况下,很好的模拟并发的请求,使用方式非常简单  Ab –c10 –n 100 mk.trip....
  • ab压测hyperf

    2021-05-20 14:53:03
    ab -c 100 -n 10000 http://127.0.0.1:9501/ -c表示并发数 -n表示请求数 Benchmarking 127.0.0.1 (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 ...
  • 【七】ab压测

    2018-08-15 15:33:00
    【任务7】ab压测 安装ab压测软件 命令:yum -y install httpd-tools 进行压力测试: 执行命令:ab -c 20 -n 5000 http://192.168.159.30/recsys?itemids=111,222,333,444&userid=012&action=click&ip...
  • ab压测命令

    2020-12-16 14:12:48
    命令如下 ./ab.exe -n 1000 -c 100 -T 'application/json; charset=utf-8' http://127.0.0.1:8080/xxx -n 请求数 -c 模拟用户数 -T 请求头
  • ab压测配置

    2019-05-23 10:04:09
    压测 wrk const http = require('http'); const hostname = '127.0.0.1'; const port = 1337; http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello ...
  • AB 压测工具命令

    2021-03-19 11:13:10
    -c 即concurrency,用于指定的并发数。 -t 即timelimit,等待响应的最大时间(单位:秒)。 -b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。 -p 即postfile,发送POST... -h 显示用法信息,其实就是ab -help。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,583
精华内容 2,233
关键字:

ab压测方法