安装Siege(centos)

来源:互联网 发布:公司网络设计方案 编辑:程序博客网 时间:2024/06/06 08:44

安装Siege(centos)


1.5.1 安装Siege

可以通过从官方网站www.joedog.org/index/siege-home或http://freshmeat.net/ projects/siege下载源代码或者使用存储库(如port或aptitude)以及以下所示的命令之一安装Siege:

  1. sudo port install siege 
或者
  1. sudo aptitude install siege 

使用其中一个命令,Siege将自动安装所有必需的程序包。在编写本书时,Siege的最新稳定版本为2.69。

很遗憾,如果没有Cygwin,Windows用户将不能使用Siege。如果你使用的是Windows,请先下载Cygwin并安装该软件,然后再尝试安装和运行Siege。安装完Cygwin之后,使用本部分中概述的步骤安装Siege。

如果你决定使用源代码安装,可能会在下载程序包时遇到问题,此时,请打开一个终端窗口并键入以下内容。

  1. wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz 

该命令会将此程序包下载到你的系统上。下载完此程序包之后,执行以下命令:

tar xvfz siege-latest.tar.gz

cd siege-2.69/

./configure

make

sudo make install

这些命令将配置源代码、创建安装程序包并最终在系统上安装此程序包。安装完成后,将你的目录位置更改为/usr/local/bin/。你应该会在此目录中看到Siege脚本。

下面,我们继续进行并在域www.example.com上运行一个简单测试,以便查看示例结果。


(注:

-bash: make: command not found的解决办法

一般出现这个-bash: make: command not found提示,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可。

yum -y install gcc automake autoconf libtool make

直接ssh运行即可,安装make。


1.5.2 运行Siege

第一个示例是对www.example.com的一个简单负载测试。与ab一样,Siege遵循特定的语法格式。

  1. siege [options] [URL] 
使用Siege格式,我们将模拟一个负载测试,5个并发用户在10秒内访问网站www.example. com。需要说明一下,使用Siege时的并发被称为事务。因此我们要模拟的测试是使用Siege命令让Web服务器在10秒的时间内一次满足5个同时发生的事务:
  1. siege -c 5 -t10S http://www.example.com/ 

该命令使用两个选项标记:并发标记c和时间标记t。使用并发标记,可以通过X(在本例中为5)个用户同时访问网站来测试请求。数字可以是任意数字,只要运行测试的系统可以支持这样一个任务即可。t标记以秒(S)、分钟(M)或小时(H)为单位指定时间,并且数字和字母之间没有空格。

运行此命令之后,你应该会看到类似于图1-8的输出。

 图1-8 www.example.com的Siege响应(10秒内5个并发请求)

1.5.3 分析结果

与ab结果一样,Siege工具的结果也分为几个部分。具体来说,结果集有两个部分需要分析:

单个请求详细信息;

测试指标。

1. 单个请求详细信息

单个请求详细信息部分显示了该工具创建和运行的所有请求。每一行都代表一个唯一的请求并且包含三列,如图1-9所示。

 图1-9 Siege请求数据

该输出包含运行的初始Siege命令的请求示例。各列所代表的内容如下:

HTTP响应状态代码;

完成请求所需的总时间;

作为响应所收到的数据总量(不包括标头数据)。

2. 测试指标

测试指标部分包含有关整个负载测试的信息。表1-4列出并描述了所有字段,你可以仔细查看一下。我们只对Data transferred、Transaction rate、Longest transaction以及Shortest transaction感兴趣。我们将重点介绍结果中的这些特定属性,因为它们显示出了优化应用程序的效果。

表1-4  Siege测试指标部分描述

字段名称

描述

示 例 值

Transactions

已完成的事务总数

102 hits

Availability

能够请求Web文档的时间

100.00%

Elapsed Time

完成测试所需的总时间

9.71 secs

Data transferred

响应中数据的总大小

(不包括标头数据)

0.04M

Response time

整个测试过程中的

平均响应时间

0.02 secs

Transaction rate

每秒要满足的事务总数

10.50 trans/sec

Throughput

处理数据和响应所需的总时间

0.00 MB/sec

Concurrency

Concurrency是同时连接

的平均数,该
数字升高时服务器性能降低

5

Successful

transactions

整个测试过程中所执行

的成功的事务总数

102

Failed transactions

整个测试过程中遇到的失

败的事务总数

0

Longest transaction

满足一个请求所需的最长时间

0.03

Shortest transaction

满足一个请求所需的最短时间

0.02

Data transferred 部分包含每个请求收到的响应的总大小(以MB为单位)。Transaction rate帮助我们了解当Web服务器在我们命令指定的负载下运行时可以满足的并发事务数(同时发生的请求)。在本例中,Web服务器在10秒之内5个并发请求的负载下时,Web服务器可以每秒满足10.50个事务。

Shortest transaction和Longest transaction字段告诉我们满足一个请求所需的最短时间(以秒为单位)以及满足一个请求所需的最长时间(以秒为单位)。

1.5.4 Siege选项标记

Siege也包含很多可选标记,如果感兴趣,可以使用以下命令查看这些标记:

  1. siege -h

0 0