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

作者: 立地 
邮箱: jarvin_g@126.com 
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总的发送量

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

  1. Linux学习13-CentOS安装ab做压力测试

    前言 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一,测试环境准备好了后,如何对网站做压力测试? 压力测试的工具很多,如:ab.http_load.webbench.siege.jmeter ...

  2. Webbench、ab命令:做压力测试的工具和性能的监控工具

    DDOS攻击:???DDOS概述:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目 ...

  3. 使用Apache Benchmark做压力测试遇上的5个常见问题

    这一篇文章主要记录我在使用Apache Benchmark(一下检测ab)做网站压力测试的过程中,遇到的一些问题以及解决办法,方便日后使用. 这一篇文章主要记录我在使用Apache Benchmark ...

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

    学习使用Jmeter做压力测试(一)--压力测试基本概念 一.性能测试的概念 性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测 ...

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

    数据库测试 JMeter可以做为Web服务器与浏览器之间的代理网关,以捕获浏览器的请求和Web服务器的响应,这样就可很容易的生成性能测试脚本. 根据脚本,JMeter可通过线程组来模拟真实用户对Web ...

  6. 使用JMeter做压力测试

    使用JMeter做压力测试 1.下载Jmeter 地址:http://jmeter.apache.org/download_jmeter.cgi 2.启动jmeter 运行bin/jmeter.bat ...

  7. jmeter教程--简单的做压力测试

    Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 什么是压力测试 顾名思义:压力测试,就是  被测试的系统,在 ...

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

    在我们完成了基于SPS2003的开发,实现了我们的具体应用以后,我们是不是就可以直接请用户来使用了呢?如果我这么做,那么有经验的开发人员一定会对此嗤之以鼻:居然连压力测试也不做!真是不想活了…… 呵呵 ...

  9. LINUX下一款不错的网站压力测试工具webbench

    LINUX下一款不错的网站压力测试工具webbench 分类: Linux 2014-07-03 09:10 220人阅读 评论(0) 收藏 举报 [html] view plaincopy wget ...

随机推荐

  1. rdlc报表函数

    字符串函数 使用串联运算符和      Visual Basic 常量可将多个字段组合在一起.以下表达式返回两个字段,它们分别位于同一文本框的不同行中: 复制代码 =Fields!FirstName. ...

  2. mysql误删root用户

    在操作mysql时误删除root用户,如何进行恢复 在安装hive时候误删除root用户,存在的用户没有权限,解决方法如下. 1.首先在/etc/my.cnf文件中 mysqlID下面添加 skip- ...

  3. python常用工具

    创建规范目录 import os BASE_PATH = os.path.dirname(__file__) li = ['bin', 'conf', 'core', 'db','interface ...

  4. RHCE 共享文件系统

    9.1 共享文件系统 概述: 共享文件系统通常有两种方式: 基于文件共享,一种直接共享文件夹给client端,常见的技术有NFS(Network File System )和 SMB (Server ...

  5. Git提交项目到GitHub

    一.GitHub新建项目 1.进入Github首页,点击New repository新建一个项目 2.填写相应信息后点击create即可 Repository name: 仓库名称 Descripti ...

  6. C#的托管和非托管的简单理解

    应该说“托管”一词是和.net概念一起出生的, 我们都知道以前的开发工具无论是Delphi.VB编译出的dll或exe文件都是二进制文件, 可以被操作系统直接识别.而微软为了和JAVA火拼,实现跨平台 ...

  7. js Array vs [],以及是否为空的判断

    两者基本相同,唯一不同点在于初始化: var a = [], // these are the same b = new Array(), // a and b are arrays with len ...

  8. vlog常用参数解析

    1. -f <filelist> : compile all files in filelist --------------------------------------------- ...

  9. Cannot find module 'rxjs/operators/share'

    描述: ionic项目,在使用了ngx-translate之后,项目编译完成,运行到浏览器时,出现如下错误: 其中ngx-translate参照官网最新教程使用,并且也尝试了angular4.3之前的 ...

  10. Swift函数_外部参数名,

    //1________________ /** *没使用外部参数名的函数 */ func inputScore(name:String,score1:Int,score2:Int) { } /** * ...