网站进行AB测试以及AB测试命令详解
Song •
5985 次浏览 •
0个评论 •
2018年05月10日
ab
命令是Apache
的Web
服务器的性能测试工具,它可以测试安装Web
服务器每秒种处理的HTTP
请求。
一、选项
-A:指定连接服务器的基本的认证凭据;
-c:指定一次向服务器发出请求数;
-C:添加cookie;
-g:将测试结果输出为“gnuolot”文件;
-h:显示帮助信息;
-H:为请求追加一个额外的头;
-i:使用“head”请求方式;
-k:激活HTTP中的“keepAlive”特性;
-n:指定测试会话使用的请求数;
-p:指定包含数据的文件;
-q:不显示进度百分比;
-T:使用POST数据时,设置内容类型头;
-v:设置详细模式等级;
-w:以HTML表格方式打印结果;
-x:以表格方式输出时,设置表格的属性;
-X:使用指定的代理服务器发送请求;
-y:以表格方式输出时,设置表格属性。
二、AB压力测试
AB
压力测试一般关心两个选项-c -n
ab -c 100 -n 10000 http://127.0.0.1/index.php
-c 100
:并发量,当前为100-n 10000
: 共发送10000个请求
三、测试结果分析
主要参考标准为Requests per second
以及Time per request
# 显示当前版本
This is ApacheBench, Version 2.3 <$Revision: 1796539 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking share.cuidanxia.com (be patient)
Completed 800 requests
SSL handshake failed (5).
Completed 1600 requests
SSL handshake failed (5).
SSL handshake failed (5).
Completed 2400 requests
Completed 3200 requests
SSL handshake failed (5).
SSL handshake failed (5).
Completed 4000 requests
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
Completed 4800 requests
SSL handshake failed (5).
SSL handshake failed (5).
Completed 5600 requests
SSL handshake failed (5).
Completed 6400 requests
SSL handshake failed (5).
Completed 7200 requests
SSL handshake failed (5).
SSL handshake failed (5).
Completed 8000 requests
Finished 8000 requests
# 服务器类型,基础链接,端口等基本信息
Server Software: nginx
Server Hostname: share.b.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
TLS Server Name: share.b.com
# 请求的资源
Document Path: /
# 文档返回的长度,不包括相应头
Document Length: 2092 bytes
# 并发个数
Concurrency Level: 50
# 总请求时间
Time taken for tests: 453.640 seconds
# 总请求数
Complete requests: 8000
# 失败的请求数
Failed requests: 14
(Connect: 0, Receive: 0, Length: 14, Exceptions: 0)
Total transferred: 24270072 bytes
HTML transferred: 16706712 bytes
# 平均每秒的请求数
Requests per second: 17.64 [#/sec] (mean)
# 平均每个请求消耗的时间
Time per request: 2835.251 [ms] (mean)
# 就是上面的时间 除以并发数
Time per request: 56.705 [ms] (mean, across all concurrent requests)
# 时间传输速率
Transfer rate: 52.25 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1346 3378.4 541 59388
Processing: 12 1137 3465.7 465 63446
Waiting: 0 1038 2492.6 464 54887
Total: 45 2484 4834.0 1237 82256
# 就是有50%的请求都是在85ms内完成的
Percentage of the requests served within a certain time (ms)
50% 1237
66% 1967
75% 2469
80% 3045
90% 4561
95% 7556
98% 14256
99% 27311
100% 82256 (longest request)
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
更多相关好文