在linux中给你的应用做压力测试

在linux中给你的应用做压力测试

作者: 立地 
邮箱: [email protected] 
QQ: 511363759

一.webbench

1.在Ubuntu中安装webbench —支持get,head等请求,但不支持post请求

wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install

2.测试demo

webbench -t 5 -c 2 http://google.com/   >2个并发用户共同请求5秒

3.测试结果分析

  1. Benchmarking: GET http://google.com/ #GET方法请求谷歌
  2. 2 clients, running 5 sec. #2个用户,运行5秒
  3. Speed=4296 pages/min, 38664 bytes/sec. #4296个页面每秒,38664 bytes每秒
  4. Requests: 358 susceed, 0 failed. #358次请求成功,0次失败

二.ab

1.在Ubuntu中安装ab —支持 post ,get ,head 等方法

sudo apt-get install apache2-utils

2.测试demo

ab -n 500 -c 2  http://www.google.com/   >2个并发用户共同请求个数500个。

3.测试结果分析

  1. Server Software: gws #服务器信息
  2. Server Hostname: www.google.com #测试地址
  3. Server Port: 80 #测试端口
  4. Document Path: / #测试文档路径
  5. Document Length: 390 bytes #测试文档大小
  6. Concurrency Level: 2 #并发数量
  7. Time taken for tests: 6.752 seconds #测试消耗时间
  8. Complete requests: 500 #完成的请求数
  9. Failed requests: 0 #失败的请求数
  10. Non-2xx responses: 500 #HTTP响应数据的头信息中含有2XX以外的状态码的请求数
  11. Total transferred: 566000 bytes #总传输数据大小
  12. HTML transferred: 195000 bytes #总传输html数据大小
  13. Requests per second: 74.05 [#/sec] (mean) #吞吐量,每秒处理平均请求数
  14. Time per request: 27.007 [ms] (mean) #每个请求平均等待时间
  15. Time per request: 13.504 [ms] (mean, across all concurrent requests) #服务器每个请求平均处理时间
  16. Transfer rate: 81.86 [Kbytes/sec] received #平均每秒流量数
  17. Connection Times (ms) #下面为时间花费的分布(连接、处理、等待、总数)
  18. min mean[+/-sd] median max
  19. Connect: 1 1 0.2 1 2
  20. Processing: 22 26 7.6 25 150
  21. Waiting: 22 26 7.6 25 150
  22. Total: 23 27 7.6 26 151
  23. ###下面为每个请求花费时间的分布
  24. Percentage of the requests served within a certain time (ms)
  25. 50% 26 #50%在26毫秒之内
  26. 66% 27 #66%在27毫秒之内
  27. 75% 27
  28. 80% 27
  29. 90% 28 #主要看这个参数,90%在28毫秒之内
  30. 95% 29
  31. 98% 36
  32. 99% 52
  33. 100% 151 (longest request)

如想在请求header加入数据,如下:

  1. ab -H "Cookie: key=value;key2=value2" ...

4. 利用ab 进行post请求

  1. ab -c 1 -n 100 -T ‘application/json‘ -p data.json http://www.google.com/

测试结果就不贴上来了,多了一个明显的结果:

  1. Total body sent: 15900 #body总的发送量
时间: 2024-10-13 18:53:00

在linux中给你的应用做压力测试的相关文章

如何用Jmeter做压力测试 --- 转

Jmeter是一个性能测试工具,同loadrunner类似,他功能较多,我们常用的功能是用jmeter模拟多浏览器对网站做压力测试.    下载jmeter地址 :http://jakarta.apache.org/我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.下面介绍如何用jmeter登录系统再对主业务做压力测试.1 运行jmeter    2 左边树将出现测试计划.工作台两根节点.3 选择测试计划,按右键->添加->threads(users)线程组    线程组能设置以

使用Application Center Test (ACT)来做压力测试 【转】

在我们完成了基于SPS2003的开发,实现了我们的具体应用以后,我们是不是就可以直接请用户来使用了呢?如果我这么做,那么有经验的开发人员一定会对此嗤之以鼻:居然连压力测试也不做!真是不想活了…… 呵呵,是啊.开发环境往往只考虑功能,到了具体环境中,就需要考虑有大量的用户来访问的时候,很多功能会不会出错?性能会怎么样呢?……我们这里就简单看看,怎么来做压力测试. 相信作压力测试肯定有很多工具,而我们一般使用的,现在很多是Application Center Test (ACT).这个东东是VS.N

(转)学习使用Jmeter做压力测试(三)--数据库测试

数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟 并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询

ab做压力测试

ab是apache 自带的一个压力测试的小工具,可用于接口简单的压力测试. 以下是AB的简要介绍 格式:ab [options] [http://]hostname[:port]/path 参数说明: -n requests Number of requests to perform //在测试会话中所执行的请求个数(本次测试总共要访问页面的次数).默认时,仅执行一个请求. -c concurrency Number of multiple requests to make //一次产生的请求个

【转】学习使用Jmeter做压力测试(三)--数据库测试

JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本.根据脚本,JMeter可通过线程组来模拟真实用户对Web服务器做压力测试.本文描述使用JMeter进行数据库测试的过程.创建测试计划,模拟并发用户发送SQL请求到数据库.测试数据库. 性能测试的目标是找到系统的性能瓶颈.本文将通过构造测试场景,完成对数据库的测试. 场景: 1.单用户: a.SQL语句优化:    b.数据库约束检查:   c.分页查询: 2.并发用户

通过命令行对CPU负载做压力测试

无意间在51首页上看到一篇关于"通过命令行制造CPU负载或压力"的文章,感觉不错,先记录下来,为将来的使用做好笔记记录! 很简单,就一个命令: # cat /dev/urandom | md5sum 然后通过top观察,cpu的值果然很高,说明测试成功! 有图有真相^ _ ^ 通过命令行对CPU负载做压力测试

loadrunner之做压力测试要做的准备

前提B/S架构 1.要有个备库和主库保存一致 到时候做压力测试的时候,要断开主库连接到备库.进行测试.以免主库出现垃圾数据.2.节点 判断单节点能承受多大的压力,如200万的用户账号,10万的在线用户,5000的并发用户,50台负载均衡应用服务器,一台数据库服务器,一台手机端服务器,那么单节点最少要承受多大的压力?5000/50=100并发用户 结论:在这样的条件下,单节点要承受100并发用户.这个用户数据有实施提供.3.IE浏览器的兼容性 在loadrunner录制脚本的时候,要求不能出现IE

学习使用Jmeter做压力测试(一)--压力测试基本概念

一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况.压力测试时通过确定一个系统的瓶颈或者不能接受的 性能点,来获取系统能提供的最大服务级别的测试.性能测试主要包括负载测试.强度测试.容量测试. 二.性能测试的指标 web服务器: Avg Rps: 平均每秒的响应次数 = 总请求数 /

Jmeter做压力测试的心得

什么是性能压测? 也是最近刚刚接触到,就是被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定,通常情况,是模拟多个请求同时 请求服务器,也就是在某个时间内,比如说1秒内,调用接口达到200次,结果就是接口调用成功率.最大请求花费时间.最小请求花费时间还有一些性能参数,做性能压测目前来讲大多数来说都是借助 工具软件来完成的,真正去写一套脚本来完成性能压测的步骤已经很少很少了,所以我们接下来讲的就是比较常用的工具-Jme 前期准备!!! 首先,你要去官方那里下载Jmeter的压