音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

ab网站压力测试命令
日期:2016-05-05 14:44:48   来源:脚本之家

我们知道压力测试的软件确实很多,诸如微软的WAST,惠普的LoadRunner以及等等其他的,但这些软件学习起来还是需要花费些时间,在选择上实在头痛,后来在郭欣的那本《构建高性能WEB站点》上看到了他介绍的这款Apache自带的压力测试工具ab,十分喜爱,于是今天终于有机会体验下ab对网站的压力测试。 实验之前我的apache已经安装了,操作系统:Ubuntu 10.04 VMware 7.0

1、先查看一下版本信息 ab -V(注意是大写的V)

studiogang@studiogang:~$ 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、我们也可以使用小写的v查看下ab命令的一些属性 ab -v

studiogang@studiogang:~$ ab -v 
ab: option requires an argument -- v 
ab: wrong number of arguments 
Usage: ab [options] [http[s]://]hostname[:port]/path 
Options are: 
 -n requests  Number of requests to perform 
 -c concurrency Number of multiple requests to make 
 -t timelimit Seconds to max. wait for responses 
 -b windowsize Size of TCP send/receive buffer, in bytes 
 -p postfile  File containing data to POST. Remember also to set -T 
 -u putfile  File containing data to PUT. Remember also to set -T 
 -T content-type Content-type header for POSTing, eg. 
     'application/x-www-form-urlencoded' 
     Default is 'text/plain' 
 -v verbosity How much troubleshooting info to print 
 -w    Print out results in HTML tables 
 -i    Use HEAD instead of GET 
 -x attributes String to insert as table attributes 
 -y attributes String to insert as tr attributes 
 -z attributes String to insert as td or th attributes 
 -C attribute Add cookie, eg. 'Apache=1234. (repeatable) 
 -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip' 
     Inserted after all normal header lines. (repeatable) 
 -A attribute Add Basic WWW Authentication, the attributes 
     are a colon separated username and password. 
 -P attribute Add Basic Proxy Authentication, the attributes 
     are a colon separated username and password. 
 -X proxy:port Proxyserver and port number to use 
 -V    Print version number and exit 
 -k    Use HTTP KeepAlive feature 
 -d    Do not show percentiles served table. 
 -S    Do not show confidence estimators and warnings. 
 -g filename  Output collected data to gnuplot format file. 
 -e filename  Output CSV file with percentages served 
 -r    Don't exit on socket receive errors. 
 -h    Display usage information (this message) 
 -Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers) 
 -f protocol  Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL) 

3、现在我们就对51CTO的网站进行一次压力测试吧,使用命令ab -n1000 -c10 http://www.jb51.net/index.php,其中 -n1000 表示总请求数 -c10表示并发用户数为10 http://www.jb51.net/index.php 表示请求的URL,下面是测试的结果,其中我们最关心的三个指标,我已经注释出来了。

studiogang@studiogang:~$ ab -n1000 -c10 http://www.51cto.com/index.php 
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/ 
 
 
Benchmarking www.51cto.com (be patient) 
Completed 100 requests 
Completed 200 requests 
Completed 300 requests 
Completed 400 requests 
Completed 500 requests 
Completed 600 requests 
Completed 700 requests 
Completed 800 requests 
Completed 900 requests 
Completed 1000 requests 
Finished 1000 requests 
 
 /*WEB服务器用的是nginx*/
Server Software:  nginx 
Server Hostname:  www.51cto.com 
Server Port:   80 
 
Document Path:   /index.php 
Document Length:  154 bytes 
 
Concurrency Level:  10 
Time taken for tests: 74.373 seconds 
Complete requests:  1000 
Failed requests:  0 
Write errors:   0 
Non-2xx responses:  1000 
Total transferred:  330000 bytes 
HTML transferred:  154000 bytes
/*大家最关心的指标之一,指的是吞吐率
相当于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值*/ 
Requests per second: 13.45 [#/sec] (mean)
/*大家最关心的指标之二,指的是用户平均请求等待时间
相当于 LR 中的 平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值*/ 
Time per request:  743.726 [ms] (mean) 
/*大家最关心的指标之三,指的是服务器平均请求处理时间
Time per request:  74.373 [ms] (mean, across all concurrent requests) 
Transfer rate:   4.33 [Kbytes/sec] received 
 
Connection Times (ms) 
    min mean[+/-sd] median max 
Connect:  129 163 245.3 145 3154 
Processing: 129 576 1510.8 147 11756 
Waiting:  129 567 1502.0 147 11756 
Total:  261 739 1543.7 294 11888 
 
Percentage of the requests served within a certain time (ms) 
 50% 294 
 66% 297 
 75% 304 
 80% 308 
 90% 1290 
 95% 3452 
 98% 7582 
 99% 7962 
 100% 11888 (longest request) 

4、为了使结果更有对比性,我们将并发用户更改为100个进行压力测试,我这里只将三个指标贴出来

Requests per second: 190.95 [#/sec] (mean) 
Time per request:  523.694 [ms] (mean) 
Time per request:  5.237 [ms] (mean, across all concurrent requests) 

5、将并发用户改为200个进行测试

    Requests per second: 186.00 [#/sec] (mean) 
    Time per request:  1149.433 [ms] (mean) 
    Time per request:  5.747 [ms] (mean, across all concurrent requests) 

6、500个并发用户时的情况

Requests per second: 180.99 [#/sec] (mean) 
Time per request:  2631.662 [ms] (mean) 
Time per request:  5.263 [ms] (mean, across all concurrent requests) 

     我们来分析下测试的结果,先对比下吞吐率,当并发用户的时候吞吐率最高为190 reqs/s,当并发用户数为200,500 吞吐率下降了,随之用户的等待时间更是明显增加了,已经有2s的等待时间了。这说明性能明显下降了。当然分析这个测试结果并不是说明51CTO的网站的并发用户只能在500左右,因为我是在服务器负荷的情况下就行测试的,这显然不能说明问题。另外我们在生产环境下测试的时候,最好能将测试结果做成报表,这样可以非常清晰地对比出问题来,好了,我该准备下,给上面提交一份我们公司网站的测试报告了。

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    WIN服务器linux服务器FTP服务器DNS服务器其他