一:siege

siege是开源的一个测试工具,可以对指定文本的URL列表进行负载测试,也可以在执行其他请求前让某个请求休眠,从而让你感觉某个用户在转移到web应用的下一个文档前正在读取该文档。

http://www.joedog.org/siege-home/ 官方地址

下载地址http://www.joedog.org/pub/siege/siege-3.0.0.tar.gz

安装: 仓库里面是2.70版,你可以选择编译3.0的版本

#aptitude install siege

测试:

siege [option] [URL]

#siege -c 100 -t10S http://www.baidu.com/

-c 是并发标记,表明模拟100个并发的用户

-t 是时间标记,后面的S是秒,也可以用分钟M,小时H来指定时间。数字和后面的时间单位之间没有空格。

-C 是查看配置

-g 是显示HTTP头。适合调试

-r 是重复次数 -r 2 就是重复两次

-l 指定log存哪儿。

-d 延迟数 随机的在1和你指定的数之间

-A 设置user-agent

-i internet 和 -f 是模拟用户活动的测试参数

分析:

字段名 意思                示例     

Transactions                    已完成的测试总数                                               249 hits

Availability                         能够请求web文档的时间                                    100.00%

Elapsed Time                  完成测试所需的时间                                            9.52 secs

Data transferred              相应中数据的总大小(不包括http头的数据)  1.02 MB

Response time                整个测试过程中的平均响应时间                        1.54 secs

Transaction rate               每秒要满足的事务总数                                        26.16 trans/sec

Throughtput                      处理数据和响应需要的总时间                            0.11 MB/sec

Concurrency                     同时连接的平均数,数字升高时服务器性能降低 40.18

Successful transactions 整个测试过程中所执行的成功的测试总数       249

Failed transactions          整个测试过程中失败的测试总数                       0

Longest transaction        一个请求所需要的最长时间                                6.78

Shortest transaction       一个请求所需要的最短时间                                 0.38

------------------------------------------------------------------------------------------------------------------------------

上面我们说了 -f 和 -i 用来模拟用户对网站访问的行为。

-f 后面跟 url.txt 文本。

#siege -c 100  -t10S -i -f /home/url.txt

url.txt 的格式要像这样

[protocol://][servername.domain.xxx][:port][/directory/file]

http://www.baidu.com/

http://baike.baidu.com/

http://tieba.baidu.com/

使用-i 和-f 与最上面的测试唯一不同的是seige会随机从url.txt文本里面选择需要测试的URL来模拟用户行为。

debian下使用siege进行压力测试的更多相关文章

  1. 使用siege执行压力测试

    没有安装siege? 可参考我的另一篇博客 使用siege执行压力测试笔记 场景分析 使用siege对https://www.baidu.com/进行加压. 要求 模拟20个用户同时访问 一共跑3个循 ...

  2. linux环境下使用jmeter进行压力测试

    linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...

  3. Mac下的Web性能压力测试工具:ab(ApacheBench)

    Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准. ab是一种用于测试Apache超文本传输协议(HTTP)服务器的工具.apache自带ab工具,可以测试Apache.IIS ...

  4. Nginx下用webbench进行压力测试

    在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的 ...

  5. ubuntu下 使用AB做压力测试

    1最近刚开始接触apache大数据下数据优化,讲一下apache 下ab压力测试工具. 程序“ab”尚未安装. 您可以使用以下命令安装: apt-get install apache2-utils 以 ...

  6. Windows 下配置 ApacheBench (AB) 压力测试

    下载 http://httpd.apache.org/download.cgi 我用的是ApacheHaus. 安装服务 1. 打开apache目录下的 conf/httpd.conf,搜索并修改 L ...

  7. liunx 下WebBench 安装与压力测试

    安装: wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd ...

  8. linux 下 安装nginx及压力测试

    linux 编译安装nginx,配置自启动脚本 下载nginx: wget http://nginx.org/download/nginx-1.8.0.tar.gz下载openssl : wget h ...

  9. Linxu下JMeter进行接口压力测试

    ****************************************************************************** 本文主要介绍Jmeter脚本如何在Linx ...

随机推荐

  1. 1数组的join方法

    function log(e) { console.log(e) } 有时候写console.log太长了,所以会自己写个这样的函数省去写console的步骤. 数组的join方法可以把一个数组按照j ...

  2. Kendo UI开发教程(20): Kendo MVVM 数据绑定(九) Text

    Text绑定可以使用ViewModel来设置DOM元素的文本属性,如果需要设置input,textarea,或select的显示,需要使用value属性. 1 <span data-bind=& ...

  3. 使用JDBC进行数据库的事务操作(1)

    本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作.下一篇会讲述如何使用JDBC进行数据库的事务操作. 事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑 ...

  4. clientdataset<---->json

    现在,DATASNAP倾向于使用JSON作为统一的数据序列格式,以期达到跨平台的效果.于是使用JSON便成为热点. unit uJSONDB;   interface uses SysUtils, C ...

  5. TMemoryStream、String与OleVariant互转

    //////////////////////////////////////////////////////////////////////////////////功能: STRING 的内容流化到 ...

  6. c# 文件/文件夹操作

    1.判断文件夹是否存在并创建 if (!Directory.Exists(tempFolderName)) { Directory.CreateDirectory(tempFolderName); }

  7. boost asio 异步实现tcp通讯

    ---恢复内容开始--- asioboost   目录(?)[-] 一前言 二实现思路 通讯包数据结构 连接对象 连接管理器 服务器端的实现 对象串行化   一.前言 boost asio可算是一个简 ...

  8. jquery mobile实现拨打电话功能的几种方法

    3.使用wtai协议进行拨打电话. 在wml中可以调用设备的wtai函数来呼叫特定的电话号码.目前,越来越多的浏览器都支持这个功能,但还不是所有. 代码如下所示: 复制代码 代码如下: <inp ...

  9. Android各代码层获取系统时间的方法

    1. 在java层,long now = SystemClock.uptimeMillis(); 2. 在native层,nsecs_t now = systemTime(SYSTEM_TIME_MO ...

  10. MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系

    MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录.但两者并不完全对等.表的结构是固定的,MongoDB集合并没有这个约束 ...