优点:比http_load好用,因为相同的url.txt文件在httpload不好使,所以在易用性上httpload不如siege,仍需进一步调研。

缺点:安装过程中,不能自动创建siege.log文件,需手动创建。

概述:

Siege(英文意思是"围攻") 是一个压力测试工具。与http_load类似的是,Siege也是读取urls.txt文件,可以根据配置对一个web站点进行多用户的并发访问,记录每个用户所有请求过程的响应时间,并在一定数量的并发访问下重复进行。这样就比apachebench只能对1个url执行压力测试要占优势。 Siege 支持基本的认证,cookies,HTTP和HTTPS协议。

官方网址:http://www.joedog.org/siege/

安装:

# tar -zxvf siege-2.72.tar.gz
# cd siege-2.72

/siege-2.72#./configure
/siege-2.72# make

/siege-2.72#make
install

基本使用:

XXXXXXXXXXXX:~/siege-2.72$ siege -c 5 -r 10 -f urlsdamai.txt                  /*并发5个用户,迭代10次,-f 表示后面是要读取的urls列表*/

** SIEGE 2.72

** Preparing 5
concurrent users for battle.

The server is now
under siege..      done.

操作结果:

Transactions:                          50 hits                                              /*访问服务器50次,或叫做完成50次处理*/

Availability:                         100.00 %                                                   /*成功率100%*/

Elapsed time:                       8.14 secs                                              /*总共用时8.14秒*/

Data transferred:              
5.25 MB                                               /*共数据传输5.25兆*/

Response time:                                  0.19 secs                                /*响应用时0.19秒:显示网络连接的速度*/

Transaction rate:               
6.14 trans/sec                                   /*平均每秒完成6.14次处理,服务器端的处理速度*/

Throughput:                         0.65 MB/sec                                       /*平均每秒传输数据0.65兆*/

Concurrency:                       1.15                                                       /*实际最高并发数是1.15个用户*/

Successful
transactions:          50                                                 /*成功处理了50个请求*/

Failed
transactions:              0                                                      /*失败处理了0个请求*/

Longest
transaction:          0.46                                                       /最长的每次处理时间是0.46秒/

Shortest
transaction:                      0.11                                         /最短的每次处理时间是0.11秒/

FILE:
/usr/local/var/siege.log

You can disable
this annoying message by editing

the .siegerc file
in your home directory; change

the directive
'show-logfile' to false.

[error] unable to create log file: Permission denied                          /*当非root用户执行了并发的命令之后 siege -c 5 -r 10 -f urlsdamai.txt,siege的log不能够写入“siege.log”文件,原因是这个文件在make && make install的时候并没有创建。所以解决的方式有2个,第1个解决此问题的方式是到“/usr/local/var/”目录内手动建1个“siege.log”,第2个方式是直接切换成root用户,执行后会自动创建这个siege.log 文件*/

参数说明:

Usage: siege
[options]

siege [options] URL

siege -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.

-g, --get               GET, pull down HTTP headers and
display the

transaction. Great
for application debugging.

-c, --concurrent=NUM    CONCURRENT users, default is 10                             /*并发的用户数*/

-i, --internet          INTERNET user simulation, hits URLs
randomly.

-b, --benchmark         BENCHMARK: no delays between requests.

-t, --time=NUMm         TIMED testing where "m" is
modifier S, M, or H           /*测试执行的时间,比如-t 1M是跑60秒*/

ex: --time=1H, one hour test.

-r, --reps=NUM          REPS, number of times to run the
test.                                /*迭代次数,不与-t同时使用*/

-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,
the

default is used:
PREFIX/var/siege.log

-m, --mark="text"       MARK, mark the log file with a string.

-d, --delay=NUM         Time DELAY, random delay before each
requst

between 1 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

讨论/疑问:

  • 测试结果里的“Response time”代表什么意思?
  • 结果里的“Concurrency”是什么意思?

【性能测试工具】- Siege的更多相关文章

  1. 性能测试工具--SIEGE安装及使用简介

    官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...

  2. 性能测试工具--SIEGE安装及使用简介 siege压力测试

    官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...

  3. Web性能测试工具:Siege安装&使用简介

    在Web性能测试工具中,siege是比较热门和常见的,它有安装简单,使用简单,测试报告详细的特点. 并且可以在文本中预定义一系列待测试url模拟,并可设定一定并发量下持续指定时间or测试进行测试. 比 ...

  4. 烂泥:apache性能测试工具ab的应用

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试 ...

  5. Linux环境下apache性能测试工具ab使用详解

    网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...

  6. Benchmark Web App 性能瓶颈分析与性能测试工具的使用方法总结

    主要分为以下几个要素的指标: Disk IO . CPU . mem . Net . MySQL Web性能测试工具: 客户端 服务器端: 服务器性能测试工具: 服务器性能瓶颈分析工具: ab, si ...

  7. apache性能测试工具ab

    性能测试工具目前最常见的有以下几种:ab.http_load.webbench.siege ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可 ...

  8. Web性能测试工具:http_load安装&使用简介

    除了siege,在Web性能测试工具中,http_load也是比较热门和常见的一款,有时因为种种原因,只能使用现成的工具,所以多了解和掌握一种Web性能测试工具是很有必要的. 1.下载安装包 略过 2 ...

  9. 【测试】性能测试及性能测试工具Loadrunner

    性能测试简介 软件系统的性能包括很多方面,有执行效率,资源占用,系统稳定性,安全性,兼容性,可靠性,可扩展性等.这些都是可以衡量一个软件系统性能好坏的指标.而性能测试是指通过自动化测试工具去模拟多种正 ...

  10. 性能测试工具 wrk 安装与使用

    介绍 今天给大家介绍一款开源的性能测试工具 wrk,简单易用,没有Load Runner那么复杂,他和 apache benchmark(ab)同属于性能测试工具,但是比 ab 功能更加强大,并且可以 ...

随机推荐

  1. php生成Excel表格

    //引用新建对象<br>require "../phpexcel/Classes/PHPExcel.php"; $excel = new PHPExcel(); 建表格 ...

  2. [Android FrameWork 6.0源码学习] LayoutInflater 类分析

    LayoutInflater是用来解析XML布局文件,然后生成对象的ViewTree的工具类.是这个工具类的存在,才能让我们写起Layout来那么省劲. 我们接下来进去刨析,看看里边的奥秘 //调用i ...

  3. java程序员常见面试题目

      答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象.实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则 ...

  4. eclipse 下使用git clone

    方法一:eclipse安装好git插件后,直接import-git-project from git- clone url-输入github的网址等就可以了方法二:使用git软件,到指定的目录,右击g ...

  5. iOS图解多线程

    前言 多线程一直是iOS开发中重中之重的话题,无论是面试还是真正在公司中进行业务开发,都会经常使用到多线程来开发.笔者在简书上看到一张图,记录的是多线程的相关知识,笔者认为这是非常好的,推荐给大家: ...

  6. Hybris安装和各个Extention简单介绍

    前言:突然想好好梳理一下这几个月所学的内容了,顺便让自己的知识有一个系统的框架. 一.  安装JDK 请安装最新的Oracle JDK 8.0版(从Oracle官网下载). 二.开发工具建议使用 In ...

  7. 使用Dubbo、JSF等RPC框架时,对于异常的处理

    无论是Dubbo还是JSF等RPC框架,一般都会把接口分为2部分: 1,服务端(provider) 2,客户端(consumer) 由于,客户端与服务端可能不在同一个应用中,所以客户端一般在调用服务端 ...

  8. (转)Bat Command

    1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.语法 echo [{on|off}] [message] Sample篅echo off ...

  9. (转)示例化讲解RIP路由更新机制

      目录(?)[+]   以下内容摘自最新上市的“四大金刚”图书之一<Cisco路由器配置与管理完全手册>(第二版)(其它三本分别为<Cisco交换机配置与管理完全手册>(第二 ...

  10. Jsoup教程jsoup开发指南,jsoup中文使用手册,jsoup中文文档

    jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. jsou ...