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/ 
原文地址:https://www.cnblogs.com/metasequoia/p/5584921.html