• siege详解


    简介
      siege是一款HTTP/FTP负载测试和基准压测工具
     
    Download
     
    安装
      mkdir -p /usr/local/siege/etc;mkdir -p /usr/local/siege/var
         ./configure --prefix=/usr/local/siege --mandir=/usr/local/man --with-ssl && { make && make install }
     
    目录结构

      /usr/local/siege/
      ├── bin
      │ ├── bombardment
      │ ├── siege
      │ ├── siege2csv.pl
      │ └── siege.config
      ├── etc
      │ ├── siegerc
      │ └── urls.txt
      └── var
      ├── siege.log (配置文件开启log)

     
    生成配置文件
         ./bin/siege.config  ->  ${HOME}/.siege/siege.conf
     
    开启日志
         logfile = /usr/local/siege/var/siege.log
         logging = true
      
    参数选项
    man siege
    -c, —config
         打印出配置文件的详细信息
     
    -v, --verbose
         siege进入verbose模式(默认模式 yes)  HTTP 状态码会显示不同颜色(默认 color = yes)
     
    -q, —quiet
         siege进入silence模式
     
    -g URL, --get=URL
         查看请求 返回头文件
     
    -c NUM, --concurrent=NUM
         设置虚拟并发用户数
     
    -r NUM, --reps=NUM|once
         每个虚拟用户的运行次数
     
    -t NUMm, --time=NUMm
         每个虚拟用户的运行时间
         NUM 多长时间
         m 时间单位 H小时 M分钟 S秒 (大小写不敏感 NUM和m之间不能有空格)
     
    -d NUM, --delay=NUM
         每个page request之间的间隔秒(默认 delay=0.5)
     
    -b, --benchmark
         压测模式 在请求之间没有时间间隔
     
    -i, --internet
         在进入internet模式中调用 随机请求url
     
    -f FILE, --file=FILE
         进入internet模式 从文本urls.txt中读取url(每个url一行 不同于命令行 url不需要加冒号)
     
    -R FILE, --rc=FILE
         设置可选的配置文件路径 而不是默认的
     
    -L FILE, --log=FILE
         设置可选的日志文件路径 而不是默认的
     
    -m "string", --mark="string"
         在每条状态日志前面加上标示符
     
    -H "header: value", --header="Header: value"
         设置自定义请求header
     
    -A "string", --agent="string"
         设置自定义请求User-agent
     
    -T "text", --content-type="text"
         设置自定义请求Content-type
     
    性能分析  
    man siege
       Transactions:     全部的HTTP请求数
     
         Availability:     成功建立连接的socket百分比(失败和超时外) 没有包括HTTP code 400和500(因为他们是连接失败的socket)
     
         Elapsed time:     测试的总时间 从第一个请求开始到最后一个请求结束的时间
     
         Data transferred:     被测试服务器发送的全部数据量MB
     
         Response time:     每一个请求的平均响应时间
     
         Transaction rate:     吞吐率 被测试服务器处理的请求数/s
     
         Throughput:     吞吐率 被测试服务器发送的数据量MB/s
     
         Concurrency:     平均的并发连接数(总请求数/Elapsed time)
     
         Successful transactions:     被测试服务器返回的成功连接数(code < 400)
     
         Failed transactions:     连接失败的socket数
     
         Longest transaction:     耗时最久的请求时间
     
         shortest transaction:     耗时最短的请求时间 
     
    Example
         1、command-line mode
         ./bin/siege -c 1000 -t1m “http://www.example1.com/"
     
        2、internet mode
         ./bin/siege -c 1000 -t1m -i -b
     
         urls.txt
              http://www.example3.com/ 
  • 相关阅读:
    在redhat 6.6上安装Docker
    Linux操作系统各版本ISO镜像下载(包括oracle linux edhatcentosu
    UML时序图(Sequence Diagram)学习笔记
    eureka 和zookeeper 区别 优势【转】
    HttpClient实现远程调用
    Java 1.8 Stream 用例测试
    ZooKeeper下载安装(Windows版本)
    Java1.8新特性
    mysql大数据量表索引与非索引对比
    druid监控mysql程序
  • 原文地址:https://www.cnblogs.com/metasequoia/p/5584921.html
Copyright © 2020-2023  润新知