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

闪电
闪电
闪电
57
文章
0
评论
2020年4月25日16:42:01 评论 60

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

一.webbench

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

    wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gztar zxvf webbench-1.5.tar.gzcd webbench-1.5make && make install
  2. 测试demo

    webbench -t 5 -c 2 http://google.com/ >2个并发用户共同请求5秒
  3. 测试结果分析

    Benchmarking: GET http://google.com/ #GET方法请求谷歌
    2 clients, running 5 sec.  #2个用户,运行5秒
    Speed=4296 pages/min, 38664 bytes/sec. #4296个页面每秒,38664 bytes每秒
    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. 测试结果分析

Server Software: gws #服务器信息

Server Hostname: www.google.com #测试地址

Server Port: 80 #测试端口

Document Path: / #测试文档路径

Document Length: 390 bytes #测试文档大小

Concurrency Level: 2 #并发数量

Time taken for tests: 6.752 seconds #测试消耗时间

Complete requests: 500 #完成的请求数

Failed requests: 0 #失败的请求数

Non-2xx responses: 500 #HTTP响应数据的头信息中含有2XX以外的状态码的请求数

Total transferred: 566000 bytes #总传输数据大小

HTML transferred: 195000 bytes #总传输html数据大小

Requests per second: 74.05 [#/sec] (mean) #吞吐量,每秒处理平均请求数

Time per request: 27.007 [ms] (mean) #每个请求平均等待时间

Time per request: 13.504 [ms] (mean, across all concurrent requests) #服务器每个请求平均处理时间

Transfer rate: 81.86 [Kbytes/sec] received #平均每秒流量数

Connection Times (ms) #下面为时间花费的分布(连接、处理、等待、总数)

min mean[+/-sd] median max

Connect: 1 1 0.2 1 2

Processing: 22 26 7.6 25 150

Waiting: 22 26 7.6 25 150

Total: 23 27 7.6 26 151

//下面为每个请求花费时间的分布

Percentage of the requests served within a certain time (ms)

50% 26 #50%在26毫秒之内

66% 27 #66%在27毫秒之内

75% 27

80% 27

90% 28 #主要看这个参数,90%在28毫秒之内

95% 29

98% 36

99% 52

100% 151 (longest request)

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

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

4.利用ab 进行post请求

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

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

Total body sent: 15900 #body总的发送量 
继续阅读
weinxin
我的微信
微信扫一扫
闪电
  • 本文由 发表于 2020年4月25日16:42:01
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Linux定时任务神器 - Crontab Linux技巧

Linux定时任务神器 – Crontab

1、前言 有时候我们需要执行一些简单定时任务,例如重启某个服务,自动备份等。本篇文章讲如何在Linux系统中使用Crontab执行定时任务。 2、脚本编写 创建一个文件:vi helloworld.s...
mac远程控制mac 技术随笔

mac远程控制mac

前言 当我们需要远程连接到其他电脑的时候,我们的第一反应应该是使用qq的远程控制,或者Teamview,这两个工具都非常好用,但是其实MacBook原生是支持远程链接另外一台MacBook的,并且网络...
通用平台端口占用解决方案 Nodejs

通用平台端口占用解决方案

在日常开发中 可能编辑器会有bug,调试的时候占用端口 多个调试程序启动,发现端口占用,找出哪个程序什么端口很麻烦 分享一个通用的端口占用工具 killport2 支持系统: windows 、mac...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: