转载:http://gekie.iteye.com/blog/1704235

作为程序员,写好一个模块后,不知道这个模块在高并发的情况下能不能平稳过渡,这里所说的平稳过渡是指,在高并发的情况下还能正常访问并处理相关数据库服务请求并返回数据。APACHE自带的测试工具AB(apache benchmark),能帮我来测试我的模块能否胜任高并发(不要也要看数据库服务器和应用服务器的性能)。

AB在APACHE的bin目录下,以命令行的方式执行:

格式: ./ab [options] [http://]hostname[:port]/path

参数说明:

-n requests //在测试会话中所执行的请求个数。默认时,仅执行一个请求

-c concurrency //一次产生的请求个数。默认是一次一个

t timelimit //测试所进行的最大秒数

其他的参数看中就用。

参数很多,一般我们用 -c 和 -n 参数就可以了. 例如:
./ab -c 1000 -n 1000 http://127.0.0.1/index.jsp

这个表示同时处理1000个请求并运行1000次index.jsp文件.

其返回的结果集是有很多内容,我们选择关键的几个看看就大概知道我们的模块性能了

我比较关心的几个结果:

Concurrency Level: 1000
Time taken for tests: 1.190 seconds
//处理1000个并发请求总共花了1.19秒
Complete
requests: 1000 //完成处理的请求量
Failed requests: 0
//请求失败数
Write errors: 0
Non-2xx responses:
1000
Total transferred: 164000 bytes
//总共传输了多少流量
HTML transferred: 0 bytes
Requests per
second: 840.58 [#/sec] (mean) //平均一个请求花840.58毫秒 大家最关心的指标之一,相当于 LR
中的每秒事务数,后面括号中的 mean 表示这是一个平均值

Time per request: 1189.651 [ms]
(mean) //大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean
表示这是一个平均值

Time per request: 1.190 [ms] (mean, across all
concurrent requests) //每个请求实际运行时间的平均值
ms是毫秒

Transfer rate: 134.62 [Kbytes/sec] received
//传输速率 可以帮助排除是否存在网络流量过大导致响应时间延长的问题

ab 测试模块高并发的更多相关文章

  1. 使用ab测试工具 进行并发测试

    ab.exe -n1000 -c100 http://localhost:8067/api/todo/555e95feb301baa678141148 http://www.cnblogs.com/y ...

  2. 用siege测试接口高并发

    siege -c 255 -r 2555 "http://10.1.1.6:3001/decode POST <./api.json" -t 100s

  3. 对redis高并发测试的研究

    以下引用大神的: 测试项目: https://github.com/14251104246/redis-demo.git 准备 使用docker-compose命令启动redis服务器(可以用其他方式 ...

  4. Thinkphp5 用ab压力测试工具测试高并发请求

    上篇文章[Thinkphp5实现悲观锁]已介绍过thinkphp5使用悲观锁实现高并发的场景,这篇文章将实际测试下. 在shell里进入到apache的bin目录,输入以下url: ab -n 100 ...

  5. 高并发 Nginx+Lua OpenResty系列(11)——流量复制/AB测试/协程

    流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线.这其实就需要进 ...

  6. ab测试大并发错误

    转载自http://xmarker.blog.163.com/blog/static/226484057201462263815783 apache 自带的ab工具测试,当并发量达到1000多的时候报 ...

  7. linux webbench测试高并发方法

    linux webbench测试高并发方法由于ab小工具 测试高并发 会出错 具体原因http://newmiracle.cn/?p=594所以采用webbench这个来测试<pre> w ...

  8. 协程--gevent模块(单线程高并发)

    先恶补一下知识点,上节回顾 上下文切换:当CPU从执行一个线程切换到执行另外一个线程的时候,它需要先存储当前线程的本地的数据,程序指针等,然后载入另一个线程的本地数据,程序指针等,最后才开始执行.这种 ...

  9. Linux下高并发socket链接数测试

    一.如何增大service进程的max open files ulimit -n 只能改小max open files,不能改大.需要按照以下步骤: 修改/etc/security/limits.co ...

随机推荐

  1. mysql主主复制(双主复制)配置步骤

    以前我们介绍的都是主从复制,这里给各位介绍一个双主复制了,下面都希望两个主服务器数据自动复制的话可参考一下此文章.   MySQL主主复制结构区别于主从复制结构.在主主复制结构中,两台服务器的任何一台 ...

  2. Servlet中使用Log4j2

    因为Servlet常用的版本有两个,即2.5与3.0.要在web application中使用Log4j2,还需要加入log4j-web的jar包.log4j通过web.xml中的context参数l ...

  3. HTML控件篇 -- input

    1. 取消input提示框及自动填充: <input type="text" autocomplete="off" /> 处理chrome下自动填充 ...

  4. 【5_283】Move Zeroes

    终于碰到一道水题,睡觉去~ Move Zeroes Total Accepted: 37369 Total Submissions: 88383 Difficulty: Easy Given an a ...

  5. 【转】Android studio 解决64K超出链接数限制问题

    http://my.oschina.net/gabriel1215/blog/602608 目录[-] 使用MultiDex支持库 注意事项 结论 如果你是一个android开发者,你至少听说过的Da ...

  6. python通过ip获取地址

    # -*- coding: utf-8 -*- url = "http://ip.taobao.com/service/getIpInfo.php?ip=" #查找IP地址 def ...

  7. Ubuntu: 为firefox安装flash插件

    下载对应的tar.gz包后,将里边的libflashplayer.so粘贴到/usr/lib/mozilla/plugins中后重启firefox即可.

  8. csc一些命令简记

    C#在命令行进行编译的一些命令: csc使用详解 @echo off cd / cd C:\Program Files (x86)\MSBuild\12.0\Bin set /p var= 请输入文件 ...

  9. 在Mac OS X上用自己编译出的CoreCLR运行.NET程序

    当昨天被Mac OS X上无法编译CoreCLR的问题困扰时(详见Mac OS X上尝试编译CoreCLR源代码),后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员 ...

  10. quartznet笔记

    http://sourceforge.net/projects/quartznet/files/quartznet/