• Web性能压力测试工具——Siege


      最近需要对Istio里的bookinfo进行分析,老是手去刷新太慢了,就找了个自动点的工具——Siege

      Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

      Siege官网:http://www.joedog.org/

    安装siege

    apt-get install siege

    Siege命令常用参数

    -c 200   //指定并发数200
    -r 5     //指定测试的次数5
    -f       //urls.txt 制定url的文件
    -i       //internet系统,随机发送url
    -b       //请求无需等待 delay=0
    -t 5    //持续测试5分钟
             //-r和-t一般不同时使用

    urls.txt位于  /etc/siege/ 文件夹下,它的格式

    [protocol://]host.domain.com[:port][path/to/file]

    如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确

    常用的siege命令举例

    //200个并发对http://www.google.com发送请求100次
    siege -c 200 -r 100 http://www.google.com
    
    //对urls.txt中的所有网址进行测试
    siege -c 200 -r 100 -f urls.txt
    
    //随机选取urls.txt中列出的网址进行测试
    siege -c 200 -r 100 -f urls.txt -i
    
    //delay=0,更准确的压力测试,而不是功能测试
    siege -c 200 -r 100 -f urls.txt -i -b
    
    //指定http请求头 文档类型
    siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b

    Siege输出结果说明

    ** SIEGE 2.72
    ** Preparing 10 concurrent users for battle.
    The server is now under siege..      done.
     
    Transactions:                 300 hits         //已完成的事务总署
    Availability:              100.00 %            //完成的成功率
    Elapsed time:                0.08 secs       //总共使用的时间
    Data transferred:            0.94 MB       //响应中数据的总大小
    Response time:                0.00 secs   //显示网络连接的速度
    Transaction rate:         3750.00 trans/sec  //平均每秒完成的事务数
    Throughput:               11.79 MB/sec   //平均每秒传送的数据量
    Concurrency:                8.50               //实际最高并发链接数
    Successful transactions:         300    //成功处理的次数
    Failed transactions:               0        //失败处理的次数
    Longest transaction:            0.01    //最长事务处理的时间
    Shortest transaction:            0.00   //最短事务处理时间

    此外还可以看siege的日志

    vi /var/log/siege.log
  • 相关阅读:
    取出某个月有几天
    重建索引时,一些数值
    java代理概念
    java内部类和静态内部类
    Lamdba表达式的代码使用讲解
    java 中Vector的使用详解
    mysql 安装失败 start service执行不下去
    Mysql中ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8怎么转换为sql sever2008的代码
    通过命令行发送邮件
    Servlet开发总结(一)
  • 原文地址:https://www.cnblogs.com/yuxiaoba/p/9355449.html
Copyright © 2020-2023  润新知