没有安装siege?
可参考我的另一篇博客

使用siege执行压力测试笔记

场景分析

使用siege对https://www.baidu.com/进行加压。
要求
模拟20个用户同时访问
一共跑3个循环

实现

[admin@ ~]$ siege -c 20 -r 3 https://www.baidu.com/ //漫长的等待

测试结果

  English                  示意数据                 中文释意
Transactions:              600 hits              处理事务总次数
Availability:                 90.91 %            处理事务成功率
Elapsed time:             13.54 secs             测试用时
Data transferred:         34.26 MB               测试传输数据量
Response time:           0.36 secs               从发送到接收的平均响应时间
Transaction rate:         44.31 trans/sec        每秒事务处理量(tps)
Throughput:                 2.53 MB/sec          数据吞吐率
Concurrency:               16.07                 并发用户数
Successful transactions:         600             成功事物次数
Failed transactions:              60             失败事务次数
Longest transaction:            2.54             最长响应时间
Shortest transaction:           0.02             最短响应时间

查看帮助

[admin@ ~]$ siege -h

New configuration template added to /root/.siege
Run siege -C to view the current settings in that file
SIEGE 4.0.4
Usage: siege [options]siege [options] URLsiege -g URL
Options:-V, --version             VERSION, prints the version number.-h, --help                HELP, prints this section.-C, --config              CONFIGURATION, show the current config.-v, --verbose             VERBOSE, prints notification to screen.-q, --quiet               QUIET turns verbose off and suppresses output.-g, --get                 GET, pull down HTTP headers and display thetransaction. Great for application debugging.-p, --print               PRINT, like GET only it prints the entire page.-c, --concurrent=NUM      CONCURRENT users, default is 10-r, --reps=NUM            REPS, number of times to run the test.-t, --time=NUMm           TIMED testing where "m" is modifier S, M, or Hex: --time=1H, one hour test.-d, --delay=NUM           Time DELAY, random delay before each requst-b, --benchmark           BENCHMARK: no delays between requests.-i, --internet            INTERNET user simulation, hits URLs randomly.-f, --file=FILE           FILE, select a specific URLS FILE.-R, --rc=FILE             RC, specify an siegerc file-l, --log[=FILE]          LOG to FILE. If FILE is not specified, thedefault is used: PREFIX/var/siege.log-m, --mark="text"         MARK, mark the log file with a string.between .001 and NUM. (NOT COUNTED IN STATS)-H, --header="text"       Add a header to request (can be many)-A, --user-agent="text"   Sets User-Agent in request-T, --content-type="text" Sets Content-Type in request--no-parser           NO PARSER, turn off the HTML page parser--no-follow           NO FOLLOW, do not follow HTTP redirectsCopyright (C) 2017 by Jeffrey Fulmer, et al.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.

常用参数

-c 200 指定并发数200
-d  指定请求的延迟时间,注意每个请求间随机延迟
-r 5 指定测试的次数5
-f urls.txt 指定url列表,可以一次给多个地址加压
-t 5 持续测试5分钟
-g  获取请求的headers信息并打印出来,debug专用
-H  指定请求的headers信息
-l或--log=[File]    指定测试结果的路径

深入实战
需求1:
对ur.tencent.com的下面几个页面进行加压,以便暴露系统的瓶颈。

http://ur.tencent.com/categories/7
http://ur.tencent.com/categories/7/?page=2
http://ur.tencent.com/categories/7/?page=3

要求
并发数是5,持续运行1分钟。
步骤:

[admin@ ~]$ vi urls.txt //创建文件插入上面3个链接

执行压测:

[admin@ ~]$ siege -c 5 -t 1M -f urls.txt
等待结果:

以上执行数说明:
显示执行总数421hits,成功数411,失败0,成功率却显示100.00%,是里面有status code(状态码) == 300的请求,这个会让请求总数变多,所以执行总数显示大于成功数+失败数
有关状态码可点击了解

需求2:
保存siege日志
对ur.tencent.com的下面几个页面进行加压,以便暴露系统的瓶颈,并将结果记录到日志。

http://ur.tencent.com/categories/7
http://ur.tencent.com/categories/7/?page=2
http://ur.tencent.com/categories/7/?page=3

步骤:

[admin@ ~]$ vi urls.txt //创建文件插入上面3个链接

执行压测:

[admin@ ~]$ siege -c 5 -t 1M -f urls.txt --log=result.csv
等待结果:

现在我们当前工作文件就已经出现了一个result.csv文件了

[admin@ ~] sz result.csv //下载到本地
双击打开就有我们需要的结果日志了

需求3:
压测时候启用gzip压缩

gzip压缩就是指服务器在返回请求时候先将请求压缩一下,以减少response的体积,客户端收到response之后会自行解压,这是提升传输速度的一般做法。

我们仍然对上面的url进行加压,不过这次我们需要使用gzip。

在请求头中加入Accept-Encoding:gzip就可以告诉服务器返回压缩后的response。
执行压测:

[admin@ ~]$ siege -c 5 -t 1M -f urls.txt -H “Accept-Encoding:gzip” --log=result_gip.csv
等待结果:

现在我们当前工作文件就已经出现了一个result_gip.csv文件了

[admin@ ~] sz result_gip.csv //下载到本地
双击打开就有我们需要的结果日志了

需求4:对移动站点进行压测

对www.baidu.com移动版本进行加压。
其实只需要发送相应的user-agent,服务器就会根据这个值判断浏览器是移动版还是桌面版。
该需求里,我们只需要发送iphone的user-agent给服务器,服务器自然就会返回移动站点的请求了。

[admin@ ~]$ siege -c1 -r1 http://www.baidu.com //普通执行并发数1循环1次
** SIEGE 4.0.4
** Preparing 1 concurrent users for battle.
The server is now under siege...
HTTP/1.1 200     0.27 secs:   30737 bytes ==> GET  /
HTTP/1.1 200     0.09 secs:    1131 bytes ==> GET  /baidu.html?from=noscript
HTTP/1.1 200     0.09 secs:      91 bytes ==> GET  /img/gs.gif
HTTP/1.1 200     0.08 secs:    3757 bytes ==> GET  /5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css
HTTP/1.1 200     0.04 secs:   33167 bytes ==> GET  /r/www/cache/static/jquery/jquery-1.10.2.min_65682a2.js
HTTP/1.1 200     0.07 secs:     705 bytes ==> GET  /img/baidu_jgylogo3.gif
HTTP/1.1 200     0.12 secs:    7877 bytes ==> GET  /img/bd_logo1.pngTransactions:                 7 hits
Availability:             100.00 %
Elapsed time:               0.76 secs
Data transferred:           0.07 MB
Response time:              0.11 secs
Transaction rate:           9.21 trans/sec
Throughput:             0.10 MB/sec
Concurrency:                1.00
Successful transactions:           7
Failed transactions:               0
Longest transaction:            0.27
Shortest transaction:           0.04

可以看到上面访问桌面版本的百度首页有7个请求。
模拟iphone7试一下,iphone的user-agent可以在这里找到。

[admin@ ~]$ siege -c1 -r1 -A"Apple-iPhone7C1/1202.440" http://www.baidu.com
** SIEGE 4.0.4
** Preparing 1 concurrent users for battle.
The server is now under siege...
HTTP/1.0 302     5.05 secs:       0 bytes ==> GET  /
HTTP/1.1 200     0.09 secs:    1229 bytes ==> GET  /?from=1015785a
HTTP/1.1 200     0.08 secs:    2340 bytes ==> GET  /static/index/u.pngTransactions:                   3 hits
Availability:             100.00 %
Elapsed time:               5.22 secs
Data transferred:           0.00 MB
Response time:              1.74 secs
Transaction rate:           0.57 trans/sec
Throughput:             0.00 MB/sec
Concurrency:                1.00
Successful transactions:           3
Failed transactions:               0
Longest transaction:            5.05
Shortest transaction:           0.08

解析上面使用的命令:
-c1 -r1 :并发数1循环1次
-A"Apple-iPhone7C1/1202.440":在请求中设置用户代理为iphone在这里找。
示意图:

可以看到移动版只有3个请求.

到这就结束了

使用siege执行压力测试相关推荐

  1. 基于siege的压力测试

     本文参考自https://www.joedog.org/siege-manual 一.关于siege siege, 基于HTTP协议的压力测试基础工具,web开发人员可以通过siege测试出他们的代 ...

  2. web性能压力测试工具材料

    很好的博客 http://www.nj-test.com/post/75-1.html :http://www.51testing.com/?uid-116228-action-spacelist-t ...

  3. 十大网站压力测试软件 - WEB压力测试工具介绍

    下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的WEB应用能够顶得住多少的并发量,以及你的网站的性能.我相信,北京奥组委的订票网站的开发团队并不知道有这样 ...

  4. 使用 JMeter 进行压力测试

    一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力,使我们能根据其做出一些应对措施.所以压力测 ...

  5. LTP--linux稳定性测试 linux性能测试 ltp压力测试

    说明:在写这篇文章之前,本人也不曾了解LTP是干嘛的,直到参加一次技术沙龙才了解到它是用来对linux系统进行稳定性测试的一个开源工具,演讲人是世纪佳缘运维部门的技术老总!平时我们这些做运维朋友们都很 ...

  6. jmeter 高并发测试报告_使用 JMeter 进行压力测试

    原文连接:使用 JMeter 进行压力测试 一.前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率:预估系统的承载能力 ...

  7. mysql压力测试工具Mysqlslap

    mysql 性能测试工具:The MySQL Benchmark Suite(不支持多CPU而且不是压力工具) 压力测试工具: MySQL super-smack:需要找能连接外网的机器,能连接外网的 ...

  8. (转)MySQL自带的性能压力测试工具mysqlslap详解

    mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 ...

  9. gatling 使用_使用Gatling + Gradle + Jenkins Pipeline为您的JAX-RS(和JavaEE)应用程序进行连续压力测试...

    gatling 使用 在这篇文章中,我将解释如何使用Gatling项目为您的JAX-RS Java EE端点编写压力测试,以及如何将它们与Gradle和Jenkins Pipeline集成,因此,除了 ...

最新文章

  1. 2009全国公共英语五级(PETS-5)考试大纲概述
  2. springboot项目输入打印日志文件到本地
  3. CAN总线简明易懂教程(一)
  4. Java ArrayList去重
  5. 红蓝对抗 linux内网渗透
  6. git 放弃本地修改 强制更新
  7. sys.getsizeof(), 字节之间的换算关系
  8. freebsd linux目录,FreeBSD和Linux如何互相访问文件系统
  9. Python MySQL更新表
  10. RealWave Surfaces 泡沫
  11. 【青岛站】SWAT模型高阶应用暨无资料地区建模、不确定分析与气候变化、土地利用对面源污染影响模型改进及案例分析研讨
  12. 一张图解AlphaGo原理及弱点
  13. 安卓开发 监听系统语言切换
  14. 【网络设备】单臂路由和STP配置及理论
  15. gre作文3.5什么水平计算机专业,gre作文3.5分如何达到
  16. 斗鱼弹幕服务器连接协议,斗鱼弹幕服务器第三方接入协议v1 6 2.pdf
  17. VMware WorkStation5分钟快速安装黑群晖
  18. Error: [vuex] do not mutate vuex store state outside mutation handlers.
  19. java后端开发需要会什么技能,从事Java后端开发,需要掌握哪些知识和技能?
  20. html鼠标手状态,css鼠标样式

热门文章

  1. 【甄选靶场】Vulnhub百个项目渗透——项目十八:pwnlab_init(LFI本地文件包含,PHP伪协议,文件上传绕过,逆向分析)
  2. 中兴AC2746 usb接口的3G上网卡
  3. 慧荣 SM3257ENLT - ISP 131112-AA量产
  4. 三级页面爬取苏宁图书
  5. JS中‘${}‘什么意思
  6. 高防服务器的防御措施有哪些?
  7. html表单验证案例,HTML5表单验证(4个实用的表单美化案例)
  8. 张高兴的 .NET IoT 入门指南:(七)制作一个气象站
  9. 盘点微软手机系统变迁史,看看有没有你用过的
  10. Android RemoteView的应用 一 桌面控件